试图从Javascript调用PHP脚本如果声明

时间:2015-11-03 01:29:55

标签: javascript php html forms validation

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

这是最终验证:

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());
} 

?>

1 个答案:

答案 0 :(得分:0)

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

所以你需要向服务器发出另一个请求,以便PHP代码可以处理/处理它(验证密码,准备一些响应 - 理想情况下是JSON格式等)。

你可能想做类似的事情:
How to validate a username / password via JQuery / Ajax?