2012-07-18 204 views
-1

我有一个大问题。我有一个功能,你应该替换“密码”。但是当用户第一次点击提交时,在var_dump中留下Hands =“false”。如果你再次做同样的过程,它的效果非常好!有没有类似的问题?无法发布到数据库第一次点击(第二次点击工作)

VIEW:

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> 
    "; 


} 

控制器:

if($PersonChangeView->TriedToChangePassword()){ 
     var_dump($PersonChangeView->GetPassword(),$Username); 
     $kalle = $UserHandler->ChangePassword($PersonChangeView->GetPassword(),$Username); 
     var_dump($kalle); 

    } 

处理程序:

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

你确定你在正确的顺序执行脚本? 它看起来像是第一次工作,但没有用新数据检索页面。只有在第二次时,它才会显示你实际上第一次尝试的结果。

您需要在修改处理程序和控制器中的值后调用您的视图。

相关问题