我知道这个问题可能重复。但是我仍然找不到解决方案。假设我的表单看起来像这样
function validateForm(){
var cryptedoriginalPassword = "<? echo $cryptedOriPassword; ?>";
var password = document.forms["userForm"]["password"].value;
if(password != ""){
if(password == crytedoriginalPassword){
return true;
}else{
alert("Password do not match!");
return false;
}
}else{
alert("Please type your password!");
return false;
}
}
<form name="userForm" action="#" onsubmit="return validateForm()" method="POST">
<p>Old Password</p>
<input id="password" type="password" name="password" style="width: 200px;" />
<button>Submit</button>
</form>
我的问题,我设法在validateForm()中获取密码值,但是随后我需要传递给php变量,因此我可以检查密码是否与原始密码匹配。我怎样才能做到这一点?
原始密码已加密。这就是为什么我需要获取密码值以便可以在php中对其进行加密的原因。当然,这是在提交表单之前发生的!
答案 0 :(得分:-1)
我认为更好的解决方案是将PHP变量存储在DOM元素中。
在这里,在您的HTML文件中:
<body>
<div id="cryptedOriPassword"><?=$cryptedOriPassword?></div>
</body>
在您的javascript文件中,您可以通过以下方式访问此变量:
function validateForm(){
var cryptedOriPassword = document.getElementById('cryptedOriPassword');
var password = document.forms["userForm"]["password"].value;
if(cryptedOriPassword == password) {
blablabla...
}
}
但是从前端添加密码判断逻辑可能并不安全,认为这不会造成任何安全问题