2013-02-10 46 views
0

我的另一個問題(Display form validation errors next to each field)下面的代碼中發現的。HTML形式的錯誤處理

在你的表單代碼,您只是需要更新這樣:

<small class="errorText"><?php echo $error["name"]; ?></small> 
    <small class="errorText"><?php echo $error["email"]; ?></small> 

,其中在後端的$error["email"]將要麼"This field is required""Not a valid email address!"

我想這適用於我的代碼:

所以我在email.php粘貼以上PHP部分,我更新了我的形式,像這樣:

<form id="contacts-form" method="post" action="email.php" target="myiframe" > 
     <fieldset> 
     <div class="field"> 
      <label>Your E-mail:</label> 
      <input type="email" name="email" value=""/> 
      <small class="errorText"><?php echo $error["email"]; ?></small> 
     </div> 
     ... 

現在我得到一個錯誤說$錯誤未定義。請記住裸露,即時通訊新的PHP/HTML的設計,我試圖通過舉例

感謝

學習
+0

你有沒有包含'$錯誤=您的文件陣列(...'說法嗎? – hjpotter92 2013-02-10 20:58:47

+0

沒有,我把這個聲明email.php – Kam 2013-02-10 20:59:53

+0

要小心,它是不是'if(empty()$ _ POST [「email」])'but'if(empty($ _ POST [「email」]))''。 – fedorqui 2013-02-10 21:01:58

回答

0

首先,你應該可以解決這一行,

if (empty()$_POST["email"]) 

應該

if (empty($_POST["email"])) 

其次,顯示錯誤是因爲您可能沒有在窗體中定義$錯誤。要檢查錯誤是否已經被定義,你可以使用它像這樣

<?php echo isset($error['name'])?$error['name']:""; ?> 

而且介意的是,以顯示與此設置錯誤,你應該的形式指向同一個文件的形式在不在。

閱讀關於isset here

閱讀有關語法here

+0

我從表單更新了我的php調用,我再也沒有錯誤,但是當我提交表單時沒有任何顯示。從我收集的信息中,通過這個檢查,我們現在可以驗證是否定義了$ error ['name'],但是當它沒有發生時,因爲在這種情況下它仍然沒有被定義。所以我們沒有解決問題,我猜 – Kam 2013-02-10 21:10:46

+0

如果你看看這個鏈接 - http://pastebin.com/M4RTwjSx - 並檢查代碼,應該清楚如何使用錯誤檢查。 – Pankucins 2013-02-10 21:16:36

+0

我明白了:)但我需要的是action =「email.php」,因爲我不僅需要驗證電子郵件,而且還要使用 – Kam 2013-02-10 21:20:40