空白字段错误检查

时间:2013-06-06 10:15:45

标签: php javascript localhost

我有一个.php注册文件可以成功地将4个新字段插入到我的localhost中的用户数据库中,但每当我添加一个空字段错误检查时它将停止工作。 如果我不使用空字段错误检查,则所有4个空白值将添加到localhost中的用户表中。 这是我的.php文件中的代码:

    <div class="contact">
            <div>
                <h4>Registration Form</h4>
            </div>

            <div>
                <table bgcolor="#CCCCCC">
                    <h4>All fields are necessary and are not to be left empty</h4>
                </br></br>
                <font color="white">Name</font><input class="test1" type="text" id="txNm" value="">
                <font color="white">Username</font><input class="test1" type="text" id="txUsn" value="">
                <font color="white">Password</font><input class="test1" type="password" id="txPwd" value="">
                <font color="white">E-Mail</font><input class="test1" type="text" id="txEml" value="">
                <input class="test2" name="Submit" type="submit" value="" id="submit" onClick='submitUser();txNm.value="";txUsn.value="";txPwd.value="";txEml.value="";'/>

            </table>
            </div>

        </div>

然后,submitUser函数将跳转到js文件:

    function submitUser(){
var name = $('#txNm').val();
var username = $('#txUsn').val(); 
var password = $('#txPwd').val(); 
var email = $('#txEml').val();


var finalData = {
    nm: name,
    usn: username,
    pwd: password,
    eml: email
};



$.post('submitUser.php', finalData, function(resp){
    if(resp == 'success'){
        alert('Thank you for register.');
        getUserList();
    }
});   

} 然后它将再次跳转到包含其余代码的submitUser.php文件 这是内容:

    $nm = mysql_real_escape_string($_POST["nm"]);
$usn = mysql_real_escape_string($_POST["usn"]);
$pwd = mysql_real_escape_string($_POST["pwd"]);
$eml = mysql_real_escape_string($_POST["eml"]);

$q = "INSERT INTO userdb (name, username, password, email) VALUES('$nm','$usn','$pwd','$eml')";

     if(!mysql_query($q, $con)){
    die('Error: ' . mysql_error());
    echo mysql_error();
}else{
    echo 'success';
}


mysql_close($con);
事实是,每次我添加一个空字段错误检查都不会发生,如果我删除它,那么整个注册过程将继续但很好......即使字段都是空的。

我的代码是:

   `if(empty($_POST['txNm'])) {
die('You need to enter a value for the Name field');
}`

我的空字段错误检查代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

似乎是拼写错误:

-----------------'nm'
if(empty($_POST['txNm'])) {
die('You need to enter a value for the Name field');
}

-----------------'nm' if(empty($_POST['txNm'])) { die('You need to enter a value for the Name field'); }

答案 1 :(得分:0)

试试这个:

if(empty($nm)) {
die('You need to enter a value for the Name field');
}

这些也可能需要更改为:

$nm = mysql_real_escape_string($_POST["txNm"]);
$usn = mysql_real_escape_string($_POST["txUsn"]);
$pwd = mysql_real_escape_string($_POST["txPwd"]);
$eml = mysql_real_escape_string($_POST["txEml"]);