我正在用php-oop制作一个登录/注册系统。现在我做的是创建一个名为 update.php
更新用户名:
<form action="" method="POST">
<div class="field">
<label for="name">Name:</label>
<input type="text" name="name" value="<?php echo escape($user->data()->name); ?>">
<input type="submit" value="Update">
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
</div>
然后我添加了这些代码作为动作:
if($validation->passed())
{
try
{
$user->update(array(
'name' => Input::get('name')
));
Session::flash('home','Your details have been updated');
Redirect::to('index.php');
}
catch(Exception $e)
{
die($e->getMessage());
}
}
else
{
foreach($validation->errors() as $error)
{
echo $error, '</br>';
}
}
这里是 update
用户类中的方法:
public function update($fields = array(),$id = NULL)
{
if(!$id && $this->isLoggedIn())
{
$id = $this->data()->id;
}
if(!$this->_db->update('users', $id, $fields))
{
throw new Exception('There was a problem updating');
}
}
因此,每当我试图更新我的帐户名,它说有一个问题更新,但它已经更新了帐户名。因此,您的详细信息已更新的消息应该出现,而不是!
1条答案
按热度按时间ahy6op9u1#