2013-01-15 33 views
1

每當我提交我的表單中的內容我想檢查是否有任何字段爲空。到目前爲止,我有什麼不工作如何檢查表單中的任何字段是否爲空在php

$firstname = $_POST['firstname']; 
$lastname = $_POST['lastname']; 
$username = $_POST['username']; 
$password = $_POST['password']; 
$passwordconf = $_POST['passwordconf']; 
$email = $_POST['email']; 
$securityq = $_POST['securityq']; 
$qanswer = $_POST['qanswer']; 

if(empty($firstname) || empty($lastname) || empty($username) || empty($password) || empty($passwordconf) || empty($email) || empty($securityq) || empty($qanswer)) 
{ 
    echo "You did not fill out the required fields."; 
} 

和形式

<form name="registrationform" action="register.php"> 
    First Name:<input type="text" name="firstname"> 
    Last Name:<input type="text" name="lastname"> 
    Email:<input type="text" name="email"> 
    Username:<input type="text" name="username"> 
    Password:<input type="password" name="password"> 
    Confirm Password:<input type="password" name="passwordconf"> 
    Security Question:<input type="text" name="securityq"> 
    Answer:<input type="text" name="qanswer"> 
    <input type="submit" name="submit" value="Register"> 
</form> 

和繼承人爲登記註冊頁面,如果有幫助http://www.myjournal.tk/register.html

+1

你嘗試isset($ _ POST [ 'FIELD_NAME'])&&($ _ POST [ 'FIELD_NAME']! ='')? –

+0

「我有什麼不工作」是什麼意思?它會給你一個錯誤?它會給你不正確的結果嗎?如果你想得到很好的答案,它將大大幫助你學習[問好問題](http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx)。 –

回答

8

表單缺少方法...

<form name="registrationform" action="register.php" method="post"> //here 

anywyas查看發佈的數據你可以使用isset() ..

確定是否一個變量被設定,並沒有NULL

if(!isset($firstname) || trim($firstname) == '') 
{ 
    echo "You did not fill out the required fields."; 
} 
+1

空字符串被認爲是「空」(http://php.net/manual/en/function.empty.php)。 –

+0

試過這個,它仍然給我一個錯誤 –

+0

與提供的鏈接,我可以看到張貼你的GET方法..你試圖獲得張貼變量作爲開機自檢在您的服務器端...嘗試與POST .. ..看到我的第一個回答 – bipen

2
Specify POST method in form 
<form name="registrationform" action="register.php" method="post"> 


your form code 

</form> 
+0

這並沒有提供一個問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你可以隨時評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/faq#reputation),你將能夠[評論任何帖子](http://stackoverflow.com/privileges/comment)。 – SztupY

+0

@SztupY - 其實,它確實如此。這是正確的答案。 –