PHP登录系统错误未出现在页面上

时间:2016-01-21 21:28:42

标签: php mysql phpmyadmin login-script user-registration

我使用notepad ++和Godaddy的phpMyAdmin来托管服务器。发布时文件没有显示任何内容,每当我把它放在PHP代码检查器中时它会告诉我:

错误:还有一个左括号'('发现如果括号在字符串内,则此计数不知道)

错误:还有一个开口花括号' {'发现 如果大括号在字符串

中,则此计数不知道

非常感谢任何帮助

//Declaring them as variables
$username = $_POST["username"];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];

//error handling
if((!$username) || (!$fname) || ($lname) || ($email) || ($pass1) || ($pass2))
{
    $message = "please insert all fields in theform below!";
}
else
{
    if($pass1 != $pass2)
    {
        $message = "Passwords do not match!"
    }
}
else
    //gathering the data
{
    $username = preg_replace("#[^0-9a-z]#i","",$username);
    $fname = preg_replace("#[^0-9a-z]#i","",$fname);
    $lname = preg_replace("#[^0-9a-z]#i","",$lname);
    $pass1 = sha1(#pass1);

    $email = mysql_real_escape_string($email);

    //check for dublicates
    $user_query = mysql_query("SELECT username FROM members WHERE username ='$username' LIMIT 1") or die("Could not check username");
    $count_username = mysql_num_rows($user_query);

    $user_query = mysql_query("SELECT email FROM members WHERE username ='$email' LIMIT 1") or die("Could not check email");
    $count_email = mysql_num_rows($email_query);

    if($count_username > 0)
    {
        $message = "Your username is alread in use";
    }
    else if($count_email > 0)
    {
        $message = " Your email is alread in use";
    }
    else
        //insert the memebers to database
    {
        $ip_address = $_SERVER['REMOTE_ADDR'];
        $query = mysql_query("INSERT INTO members(username, firstname, lastname,email,password,ip_adress,sign_up_date)VALUES('$username','$fname','$lname','$email', '$pass1','$ip_address',now()")or die("could not insert");
        $member_id = mysql_insert_id();
        mkdir(,"users/$member_id",0755);
        $message = "You have now been registered";
    }


}

1 个答案:

答案 0 :(得分:0)

问题在于你的其他陈述是错误的。我在if语句之后移动了它,你检查密码是否匹配。

//Declaring them as variables
$username = $_POST["username"];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];

//error handling
if((!$username) || (!$fname) || ($lname) || ($email) || ($pass1) || ($pass2))
{
    $message = "please insert all fields in theform below!";
}
else
{
    if($pass1 != $pass2)
    {
        $message = "Passwords do not match!"
    }
    else
    {
        //All required fields are filled
        //Paswords match
        //gathering the data
        $username = preg_replace("#[^0-9a-z]#i","",$username);
        $fname = preg_replace("#[^0-9a-z]#i","",$fname);
        $lname = preg_replace("#[^0-9a-z]#i","",$lname);
        $pass1 = sha1(#pass1);

        $email = mysql_real_escape_string($email);

        //check for dublicates
        $user_query = mysql_query("SELECT username FROM members WHERE username ='$username' LIMIT 1") or die("Could not check username");
        $count_username = mysql_num_rows($user_query);

        $user_query = mysql_query("SELECT email FROM members WHERE username ='$email' LIMIT 1") or die("Could not check email");
        $count_email = mysql_num_rows($email_query);

        if($count_username > 0)
        {
            $message = "Your username is alread in use";
        }
        else if($count_email > 0)
        {
            $message = " Your email is alread in use";
        }
        else
            //insert the memebers to database
        {
            $ip_address = $_SERVER['REMOTE_ADDR'];
            $query = mysql_query("INSERT INTO members(username, firstname, lastname,email,password,ip_adress,sign_up_date)VALUES('$username','$fname','$lname','$email', '$pass1','$ip_address',now()")or die("could not insert");
            $member_id = mysql_insert_id();
            mkdir(,"users/$member_id",0755);
            $message = "You have now been registered";
        }
    }
}