我的网站注册表格有问题 无论我输入确认密码,它都会将其转换为一个(当我回复密码并确认密码时我知道它) 虽然这两个值不同,但是当我在密码和确认之间进行比较时,它总是给我真实的
这是HTML:
<span><p>Password:</p>
<input type="password" size="25" name="password" placeholder="Enter Your Password" style="margin-bottom:2ex;" />
<font color="red">*</font>
<font color="grey">At least 8 characters.</font></span>
<span><p>Confirm Password:</p>
<input type="password" size="25" name="confirm_password" placeholder="Confirm Your Password" style="margin-bottom:2ex;" />
<font color="red">*</font></span>
这是我的PHP代码
if (isset($_POST['signup'])) {
if ($_POST['password'] != NULL && $_POST['confirm_password'] = !NULL) {
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
if ($password != $confirm_password) {
print ("<p><b><font color='red'>Provided passwords do not match</font></b></p>");
}
else {
$password = md5($password);
//do the rest of code
}
}
}
更新
代码中有一些隐藏的部分,提交按钮名称是注册,我检查字段的值不是null 另一件事 转换为1意味着值始终为= 1
答案 0 :(得分:0)
这一行:
if ($_POST['password'] != NULL && $_POST['confirm_password'] = !NULL) {
此= !NULL
必须为!= NULL
if ($_POST['password'] != NULL && $_POST['confirm_password'] != NULL) {
密码存储:
考虑使用CRYPT_BLOWFISH或PHP 5.5的password_hash()
函数。对于PHP&lt; 5.5使用password_hash() compatibility pack
。