我有一个.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');
}`
我的空字段错误检查代码出了什么问题?
答案 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"]);