【发布时间】:2019-04-12 05:07:39
【问题描述】:
<?php
include("../../config/database_connection.php");
if( isset($_POST) )
{
$user_name =$_POST['user_name'];
$email = $_POST['email'];
$user_pass_init = $_POST['password'];
$user_pass_conf = $_POST['passconfirm'];
$full_name = $_POST['full_name'];
$gender = $_POST['gender'];
if ($user_name!="" && $email!="" && $full_name!="" && $gender!="") {
if ($_POST['password']!= $_POST['passconfirm']) {
header("location:../index.php?err= password do not match");
}else{
$query = "INSERT into admin_users (user_name,email,user_pass,full_name,gender) VALUES('" . $user_name . "','" . $email . "','" . md5($user_pass_init) . "','" . $full_name . "','" . $gender . "')";
$success = $conn->query($query);
}
if (!$success) {
die("Couldn't enter data: ".$conn->error);
} else{
header("location:../index.php");
}
} else{
header("location:../index.php?err= Enter all the fields");
}
} else{
header("location:../index.php?err= couldnot enter data");
}
?>
这是我尝试执行以检查两个密码是否匹配的代码...但是在输入相同的密码时,我得到的密码值不匹配 什么问题?帮我解决一下
【问题讨论】:
-
var_dump($_POST)显示什么? -
if (!$success)测试应该在您执行INSERT的else块内。否则,$success不会被设置。 -
您输入所有字段的检查应包括密码字段。
-
您的代码对 SQL 注入开放。见stackoverflow.com/questions/60174/…
-
不要使用 MD5 加密密码。使用 PHP 的
password_hash和password_verify。
标签: php mysql forms confirmation password-confirmation