require '../core/connect.php';
if(isset($_POST['register'])&&!empty($_POST['register']))
{
$first = $db->real_escape_string(trim($_POST['fname']));
$last = $db->real_escape_string(trim($_POST['lname']));
$email = $db->real_escape_string(trim($_POST['email']));
$pass = $db->real_escape_string(trim($_POST['password']));
$repass = $db->real_escape_string(trim($_POST['repass']));
if($first && $last && $email && $pass && $repass)
{
if($pass == $repass)
{
if (strstr($email, "@") && strstr($email, "."))
{
$query = ("SELECT email FROM users WHERE email='$email'");
$result = $db->query($query);
if ($result->num_rows == 0)
{
if(strlen($pass) > 8)
{
if(strlen($pass) < 18)
{
$pass = md5($pass);
$register = "INSERT INTO users (id,firstname,lastname,email,password,videos,created,admin)
VALUES ('', '$first', '$last', '$email', '$pass', '1', NOW()), '0'";
if($db->query($register) === TRUE)
{
echo "Congrats, you have been registered.";
}
else
die('Sorry, there was a problem creating your account.');
}
else
die('Your password must be no more then 18 characters.');
}
else
die('Your password must be at least 8 characters.');
}
else
die('Sorry, that email is already in use.');
}
else
die('Your email is not correct.');
}
else
die('Your passwords must match.');
}
else
die('You must enter all the fields.');
}
它一直在死。
if($db->query($register) === TRUE)
{
echo "Congrats, you have been registered.";
}
else
die('Sorry, there was a problem creating your account.');
这不是连接页面,因为我用我制作的另一个php页面进行了双重检查,并且连接中的一切工作正常,我似乎无法找到问题。非常感谢非常感谢! :)
答案 0 :(得分:1)
正如我在评论中所述,我不确定你是否读过它:
这一行:
VALUES ('', '$first', '$last', '$email', '$pass', '1', NOW()), '0'";
^ right there
错误的括号)
是NOW()
功能的一部分,应在'0'
之后移动。
VALUES ('', '$first', '$last', '$email', '$pass', '1', NOW(), '0')";
另外,我注意到您正在使用MD5进行密码存储。 MD5已经过时并被视为已损坏,因此不再需要密码存储。
password_hash()
功能。password_hash() compatibility pack
。