-1

大きな問題があります。「パスワード」を置き換える機能があります。しかし、ユーザーが初めて送信をクリックすると、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>
    ";


}   

コントローラー:

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;


   }
4

1 に答える 1

0

スクリプトを正しい順序で実行してもよろしいですか?初めて動作したようですが、新しいデータでページが取得されませんでした。そして、2回目だけで、実際に最初の試みの結果が表示されます。

ハンドラーとコントローラーの値を変更した後、ビューを呼び出す必要があります。

于 2012-07-18T13:46:23.863 に答える