正在尝试从Javascript If语句调用PHP脚本


Trying to call PHP script from Javascript If statement

我有一个通过javascript验证的表单。在其中一个if语句中,在最后一个条件下(当其他所有内容都经过验证时),我想放入用其中一个密码更新SQL的PHP脚本。

这是最后的验证:

function passwordCheck() {
    var password = '<?php echo $password; ?>';
    if (document.passwordform.inputedPassword.value == password)
    {
        if (document.passwordform.Password1.value == document.passwordform.Password2.value)
        {
            *********************************************************
        } else 
        {
            document.getElementById("equalpasswords1").innerHTML = "Passwords should be equal";
            document.getElementById("equalpasswords2").innerHTML = "Passwords should be equal";
        }
    } else 
    {
        text = "Insert a correct password";
        document.getElementById("editpassword").innerHTML = text;
    }
    return true;
}

我想在星星所在的地方插入一个对PHP脚本的调用。我怎么能这么做?我读到你不能将PHP插入javascript,所以它必须是一个外部PHP文件。我的SQL更新代码是这样的:

<?php              
$x = $_POST['Password2'];
define('DB_NAME', 'Students');
define('DB_USER', 'Students');
define('DB_PASSWORD', 'Password');
define('DB_HOST','HOST');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!link) {
  die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
  die('Can''t use'. DB_NAME. ': ' . mysql_error());
}    

$result = "UPDATE  `1956218_students`.`Students` SET  `Password` =  '$x' WHERE  `Students`.`StudEmail` = '$email'  ";
if (!mysql_query($result)) {
die('error: ' .mysql_error());
} 
?>

您需要意识到JavaScript是在客户端(浏览器中)执行的,而PHP代码是在服务器端执行的。

因此,您需要向服务器发出另一个请求,以便PHP代码能够处理它(验证密码,准备一些响应-最好是JSON格式等)

您可能想要执行以下操作:
如何通过JQuery/Ajax验证用户名/密码?