用户输入验证再次使用javascript

时间:2019-01-03 14:23:44

标签: javascript php html sql

我正在开发一个应用程序,现在我陷入了这个问题:我已经注册了用户,我需要一个功能来更改他的密码。 PHP中的服务器端效果很好。但是,当用户更改密码时,我需要检查数据库形式的“旧密码”输入,如果不相同,我希望发出一些Java脚本警报。 希望很清楚,我的代码在这里

我的想法是创建php变量$ oldpsw。然后将变量放入Java脚本var = oldpsw。比通过document.getElementById(oldpsw).value获取用户输入,然后比较这两个变量。有什么建议么? 顺便说一句,我是初学者:)

这是完美的php服务器端

        $_SESSION['user_id'];
        include('confirmations.php');
        require_once('Db.php');
        Db::connect( 'localhost', 'chovejslepici_db','root', 'root');
        $oldpsw=Db::querySingle('
                                    SELECT psw
                                    FROM user
                                    WHERE user_id = ?
                                    ',$_SESSION['user_id']);


        if($_POST['oldpsw']==$oldpsw)
                    {
                        Db::query('
                               UPDATE user
                               SET psw= ?
                               WHERE user_id = ?
                               ',$_POST['newpsw'], $_SESSION['user_id']);

                    }

这是HTML部分

<form action="pswchange.php" method="post" class="rename">
<h3 class="headline pt">Change psi</h3>
<label class="headline" for="oldpsw">Old Psw <input class="center" value="<?php echo $oldpsw ?>" type="password" name="oldpsw" id="oldpsw" placeholder="Staré heslo"></label>
<label class="headline" for="newpsw">New Psw <input class="center" type="password" name="newpsw" id="newpsw" placeholder="Nové heslo"></label>
<button class="rename-button" onclick="myFunction()" type="submit" id="submit">Změnit heslo</button>
</form>

并尝试使用此JS脚本进行验证

var oldpsw = "<?php echo $oldpsw ?>" ;
    var formpsw = document.getElementById("oldpsw").value;


    function myFunction() {
    if (formpsw!=oldpsw) {
        alert("Wrong Old Password try again.");
    }
    else{
        alert("Password successfully changed!");
    }

}

现在,我每次都收到此警报(“旧密码错误,请重试。”);不知道为什么。

0 个答案:

没有答案