0

我有一些 PHP 经验,但是我创建的登录和注册表单有问题。我的 isset() 函数无法识别已按下提交按钮,即使名称正确:

if (isset($_POST['register'])){
$fn = mysql_real_escape_string($_POST['firstname']);
$ln = mysql_real_escape_string($_POST['lastname']);
$regusername = mysql_real_escape_string($_POST['reg_username']);
$regemail = mysql_real_escape_string($_POST['reg_email']);
$regpass1 = mysql_real_escape_string($_POST['reg_password']);
$regpass2 = mysql_real_escape_string($_POST['reg_password2']);
$date = date('Y','m','d');

if(empty($fn)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please input your first name!');</script>");
}

if(empty($ln)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please input your last name!');</script>");
}

if(empty($regusername)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please input a username!');</script>");
}

if(empty($regemail)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please input your email!');</script>");
}

if(empty($regpass1)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please input a password!');</script>");
}

if(empty($regpass2)){
    $action['result'] = 'error'; 
    array_push($text, "<script type='text/javascript'>alert('Please repeat your password!');</script>");
}

if($regpass1 != $regpass2){
    $action['result'] = 'error';
    array_push($text, "<script type='text/javascript'>alert('Passwords dosen't match!');</script>");
}

if($action['result'] != 'error'){
    $hash = hash('sha256', $regpass1);

    //Creating a salt for the password
    function createSalt(){
        $string = md5(unigid(rand(), true) );
        return substr($string, 0, 3); 
    }
    $salt = createSalt();
    $hash = hash('sha256', $salt . $hash);
}

$action['text'] = $text;

//Sending data to MySQL
$query = "INSERT INTO 'members' (firstname, lastname, username, email, password, salt, sign-up-date )
            VALUES('$fn', '$ln', '$regusername', '$regemail', '$regpass1', '$salt' , '$date');";

mysql_query($query);

if($query){
    echo "<script type='text/javascript'>alert('User was added!');</script>";
    mysql_close();
}
else{
    $action['result'] = 'error';  
    array_push($text, "<script type='text/javascript'>alert('User could not be added to the database.');</script>" .  mysql_error());   
}
}
//Registration END

报名表格:

<div id="register_user" class="form-action hide" action="" method="post">

                <form>
                    <ul>
                        <li>
                            <input type="text" placeholder="First Name" name="firstname"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Last Name"name="lastname"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Username" name="reg_username"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Email" name="reg_email"/>
                        </li>
                        <li>
                            <input type="password" placeholder="Password" name="reg_password"/>
                        </li>
                        <li>
                            <input type="password" placeholder="Repeat password" name="reg_password2"/>
                        </li>
                        <li>
                            <input type="submit" value="Sign Up" class="button" name="register"/>
                        </li>
                    </ul>
                </form>
            </div>

请帮我解决这个问题:)

4

1 回答 1

0

注意:标签中使用 的action和。method<form>

<div id="register_user" class="form-action hide">

                <form action="" method="post">
                    <ul>
                        <li>
                            <input type="text" placeholder="First Name" name="firstname"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Last Name"name="lastname"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Username" name="reg_username"/>
                        </li>
                        <li>
                            <input type="text" placeholder="Email" name="reg_email"/>
                        </li>
                        <li>
                            <input type="password" placeholder="Password" name="reg_password"/>
                        </li>
                        <li>
                            <input type="password" placeholder="Repeat password" name="reg_password2"/>
                        </li>
                        <li>
                            <input type="submit" value="Sign Up" class="button" name="register"/>
                        </li>
                    </ul>
                </form>
            </div>
于 2017-06-26T16:38:01.740 回答