用php验证空字段

时间:2012-08-13 22:22:28

标签: php validation

我需要使用php和javascript验证一个空字段,但这两种方法都失败了。

<form method="POST" name="contact_form"
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
<input type="text" name="pickupaddress"  value="<?
 if($pickupaddress == ''){ 
echo "";} 
else{echo htmlentities($pickupaddress);}?> " id="pickupaddress"/>
<input type ="submit" name="submit" value"Reserve"/> 
</form>

//////// Php validation DOES NOT WORK////////

$pickupaddress ='';
$err ='';

$pickupaddress = $_POST['pickupaddress'];

if($pickupaddress == ''){   //if empty field, I also tried == ""
$err.="Please provide pick up address.";
}

///// Javascript validation does not work.


if(form.pickupaddress ==""){
alert("empty address!");
}

//当我点击提交时没有任何反应。 //我认为问题出在

htmlentities($pickupaddress);

//感谢您的帮助。

5 个答案:

答案 0 :(得分:1)

在php端,您可以尝试修剪该值,然后在下一行使用empty(),但这也会使0,false,null和其他此类值无效。或者您可以尝试使用isset。

对于javascript方面,您可以尝试此功能:

function IsEmpty(aTextField) {
    if ((aTextField.value.length==0) ||
       (aTextField.value==null)) {
        return true;
    }
    else { return false; }
}

在此处找到:http://www.codetoad.com/javascript/isempty.asp

答案 1 :(得分:1)

希望答案更简单:

$pickupaddress = trim($_POST['pickupaddress']); //trims the string
    if (empty($pickupaddress)){   //if empty field
    $err.="Please provide pick up address.";
}

答案 2 :(得分:1)

$cid = $_POST['category'];

if (!empty($_POST['category']))
{
   echo "<script>alert('empty field');</script>";
}

答案 3 :(得分:0)

您在哪里定义pickupaddress?是在表格之前还是之后?如果未定义变量,并且根据您的服务器配置,输入的value字段可能是

Notice: undefined variable pickupaddress

从而产生值!= ''

查看您的网页来源,确保value确实为空。

答案 4 :(得分:0)

你的字符串中有一个spave:“echo htmlentities($pickupaddress);}?> " 也许这就是原因,因为它不是一个空字符串,但它是一个空格?

<form method="POST" name="contact_form"
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">

<input type="text" name="pickupaddress"  value="<?
if($pickupaddress != '') {
    echo htmlentities($pickupaddress);
}?>" id="pickupaddress"/>
<input type ="submit" name="submit" value"Reserve"/> 

</form>

我想你可能想检查是否设置了帖子值:

if(isset($_POST['pickupaddress'])) {
    $pickupaddress = $_POST['pickupaddress'];
}

php方式对我有用;)(如果我不写任何东西,则会显示该消息)