2012-08-13 107 views
0

我需要使用php和javascript驗證空字段,但兩種方法都失敗。使用php驗證空字段

<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); 

//感謝您的幫助。

+0

var_dump($ _ POST ['pickup地址']);回報什麼? – 2012-08-13 22:25:55

+1

java!= javascript。 – Hamish 2012-08-13 22:35:25

+0

您的拾取地址字段值的值有空白。 ..因爲''!=''您的驗證器永遠不會工作。 – 2012-08-13 22:40:45

回答

1

這裏是希望簡單的答案:

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

謝謝Stano,這解決了我的問題。 – user1596616 2012-08-14 01:09:43

0

你在哪裏定義pickupaddress?在表單之前還是之後?如果變量沒有被定義,並且根據服務器配置中,輸入的value字段可以是

Notice: undefined variable pickupaddress 

從而製作的值!= ''

查看您的頁面源代碼以確保value確實爲空。

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

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的方式爲我的作品像;)(如果我不寫任何東西顯示消息)

1
$cid = $_POST['category']; 

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

嗨,歡迎來到SO!雖然代碼可能會說明自己提供的一些細節將有助於提高答案的質量! – mrun 2017-10-04 12:10:41