注册错误消息

时间:2014-05-21 01:03:59

标签: php if-statement registration

在我的注册页面中,当您忘记填写用户名时,您收到以下消息:“请插入用户名”,当您忘记填写密码时,您会收到以下消息:“请输入密码“,或者当您忘记填写电子邮件时,您会收到以下消息:”请插入电子邮件“,如下面的代码所示。

<?php
include"header"

if(isset($_POST["register"])){

$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

if(($username) == ""){
    ?><p><?php echo "Please insert a username"; ?></p><?php
}
if(($password) == ""){
    ?><p><?php echo "Please insert a password"; ?></p><?php
}
if(($email) == ""){
    ?><p><?php echo "Please insert a email"; ?></p><?php
}
else{

    $checkusername = mysql_query("SELECT `id` FROM `user` WHERE `username` = '".$username."'") or die(mysql_error());
    $checkemail = mysql_query("SELECT `id` FROM `user` WHERE `email` = '".$email."'") or die(mysql_error());

    if(mysql_num_rows($checkusername) == 1){
        ?><p><?php echo "Username already exists"; ?></p><?php
    }
    if(mysql_num_rows($checkemail) == 1){
        ?><p><?php echo "Email already exists"; ?></p><?php
    }
    else{
        mysql_query("INSERT INTO `database`.`user`(`username`,`password`,`email`) VALUES ('".$username."','".$password."','".$email."')") or die(mysql_error());
        ?><p><?php echo "You are Registered"; ?></p><?php
    }
}
}

?>
<div id="loginform">
    <form name="loginform" method="post">
        <table cellpadding="0" id="tb">
            <tr>
            <td colspan="2"><div class="loginheader"><h2>Register</h2></div></td>
            </tr>
        </table>
        <table cellpadding="0" id="REGOPTIONS">
            <tr>
            <td class="field">Username:</td>
            <td><input type="text" class="text" name="username"></td>
            </tr>
            <tr>
            <td class="field">Password:</td>
            <td><input type="password" class="text" name="password"></td>
            </tr>
            <tr>
            <td class="field">Email:</td>
            <td><input type="email" class="text" name="email"></td>
            </tr>
        </table>
        <table cellpadding="0">
            <tr>
            <td class="field"></td>
            <td><input type="submit" class="submitbutton" name="register" value="Register" /></td>
            </tr>
        </table>
    </form>
</div>

但我的注册页面一次只能显示一条错误消息。如果你忘记在同一时间忘记填写你的信息(用户名,密码和电子邮件),我需要我的页面一次显示所有这些:

“请输入用户名”
“请输入密码”
“请插入电子邮件”

2 个答案:

答案 0 :(得分:0)

我通常做的是运行表单验证,并将每个错误(有一个)保存到数组中。

$la_errors = array();

if(($username) == ""){
     $la_errors[] = "Please insert username";
}

//etc. Then
if(!empty($la_errors)) {
     break;
}

当您需要显示错误时,爆炸数组,并以您选择的格式(如

或其他)显示

答案 1 :(得分:0)

转换为数组。尝试:

<?php
if(isset($_POST["register"])){

$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

if (!empty($username) && !empty($password) && !empty($email)){
    $checkusername = mysql_query("SELECT `id` FROM `user` WHERE `username` = '".$username."'") or die(mysql_error());
    $checkemail = mysql_query("SELECT `id` FROM `user` WHERE `email` = '".$email."'") or die(mysql_error());

    if(mysql_num_rows($checkusername) == 1){
        ?><p><?php echo "Username already exists"; ?></p><?php
    }
    if(mysql_num_rows($checkemail) == 1){
        ?><p><?php echo "Email already exists"; ?></p><?php
    }
    else{
        mysql_query("INSERT INTO `database`.`user`(`username`,`password`,`email`) VALUES ('".$username."','".$password."','".$email."')") or die(mysql_error());
        ?><p><?php echo "You are Registered"; ?></p><?php
    }
} else{

    if(empty($username)){
        $error[] = "Please insert a username";
    }
    if(empty($password)){
        $error[] = "Please insert a password";
    }
    if(empty($email)){
        $error[] = "Please insert a email";
    }

    foreach ($error as $value) {
        echo "Erros: $value<br />\n";
    }
}
}
?>
<div id="loginform">
    <form name="loginform" method="post">
        <table cellpadding="0" id="tb">
            <tr>
            <td colspan="2"><div class="loginheader"><h2>Register</h2></div></td>
            </tr>
        </table>
        <table cellpadding="0" id="REGOPTIONS">
            <tr>
            <td class="field">Username:</td>
            <td><input type="text" class="text" name="username"></td>
            </tr>
            <tr>
            <td class="field">Password:</td>
            <td><input type="password" class="text" name="password"></td>
            </tr>
            <tr>
            <td class="field">Email:</td>
            <td><input type="email" class="text" name="email"></td>
            </tr>
        </table>
        <table cellpadding="0">
            <tr>
            <td class="field"></td>
            <td><input type="submit" class="submitbutton" name="register" value="Register" /></td>
            </tr>
        </table>
    </form>
</div>