PHP注册页面问题

时间:2014-12-12 19:45:27

标签: php mysql mysqli

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页面进行了双重检查,并且连接中的一切工作正常,我似乎无法找到问题。非常感谢非常感谢! :)

1 个答案:

答案 0 :(得分:1)

正如我在评论中所述,我不确定你是否读过它:

这一行:

VALUES ('', '$first', '$last', '$email', '$pass', '1', NOW()), '0'";
                                                            ^ right there

错误的括号)

NOW()功能的一部分,应在'0'之后移动。

VALUES ('', '$first', '$last', '$email', '$pass', '1', NOW(), '0')";

另外,我注意到您正在使用MD5进行密码存储。 MD5已经过时并被视为已损坏,因此不再需要密码存储。