我有一个通过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());
}
?>
答案 0 :(得分:0)
您需要意识到JavaScript正在客户端(在浏览器中)执行,而PHP代码正在服务器端执行。
所以你需要向服务器发出另一个请求,以便PHP代码可以处理/处理它(验证密码,准备一些响应 - 理想情况下是JSON格式等)。
你可能想做类似的事情:
How to validate a username / password via JQuery / Ajax?