我有一个通过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验证用户名/密码?