我有一个大问题。我有一个功能,你应该替换“密码”。但是当用户第一次点击提交时,在var_dump中保留Hands =“false”。如果你再次做同样的过程,它的效果很好!有没有类似的问题?
查看:
public function View(){
$NavigationView = New NavigationView();
return "
<div class='change'>
<form name='login' id='RegisterUserForm' method='Post' action='" . $NavigationView -> GetPersonIndex() . "'>
<p>
<label class='label' for='password'><h2 id='changelabel' >New Password</h2></label>
</p>
<p>
<input type='password' size='20' name='$this->pass' id='name' class='text'/>
</p>
<input type='hidden' id='submithidden' value='true' name='" . NavigationView::Personindex . "'/>
<input type='submit' name='submit' id='submit' value='Change Password'/>
</form>
</div>
";
}
CONTROLLER:
if($PersonChangeView->TriedToChangePassword()){
var_dump($PersonChangeView->GetPassword(),$Username);
$kalle = $UserHandler->ChangePassword($PersonChangeView->GetPassword(),$Username);
var_dump($kalle);
}
HANDLER:
public function ChangePassword($password,$username){
var_dump($password,$username);
$DBConnection = new DBConnection();
$DBConnection -> Connect();
$sql= "UPDATE user SET m_password=? where m_username=?";
$stmt = $DBConnection -> prepare($sql);
$stmt -> bind_param("ss",$password, $username);
if ($stmt === FALSE) {
//echoBr("prepare of '$sql' failed " . $DBConnection -> error);
return false;
}
$stmt -> execute();
// ger resultet.
$result = $stmt -> get_result();
$stmt -> close();
return false;
}
答案 0 :(得分:0)
您确定以正确的顺序执行脚本吗? 它似乎第一次工作,但没有使用新数据检索页面。只有在第二次它实际显示你第一次尝试的结果时。
您需要在修改处理程序和控制器中的值后调用View。