2014-09-05 49 views
0

本學期我正在做noobie PHP編碼的事情。我有一個任務,它擁有一個php文件中的所有html。我將添加if語句,如果任何字段爲空且在數字字段中輸入負數時將生成錯誤消息。PHP無法爲空字段生成錯誤消息

這很簡單,答案最簡單。沒有數組或類似的東西。只要直/如果等。我也肯定這是一件非常明顯和簡單的事情,我只是沒有得到;充其量,我是SQL以外的笨拙編碼器。你可以看到我試圖獲得錯誤信息,即使它不起作用,我仍然留下這些信息。希望這會導致我有缺陷的想法朝向的地方。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Product Discount Calculator</title> 
    <link rel="stylesheet" type="text/css" href="main.css" /> 
</head> 

<body> 
    <div id="content"> 
     <h1>Product Discount Calculator</h1> 
     <form action="display_discount.php" method="post"> 
      <?php $error_message = " "; ?> 

      <div id="data"> 
       <label>Product Description:</label> 
       <input type="text" name="product_description"/><br /> 
       <?php if (empty($product_description)) {$error_message = 'This field cannot be blank'}; ?> 
       <span class="error">* <?php echo $error_message;?></span> 

       <label>List Price:</label> 
       <input type="text" name="list_price"/><br /> 

       <label>Discount Percent:</label> 
       <input type="text" name="discount_percent"/>%<br /> 
      </div> 

      <div id="buttons"> 
       <label>&nbsp;</label> 
       <input type="submit" value="Calculate Discount" /><br /> 
      </div> 

     </form> 
    </div> 
</body> 
</html> 
+0

除非你正在運行一個石器時代或令人難以置信的錯誤配置的PHP安裝啓用了register_globals,你永遠不會得到任何東西'$ product_description',所以你的錯誤信息將會被設置。 – 2014-09-05 14:55:05

回答

1

所以有幾件事情應該在這裏指出。

HTML是客戶端。 PHP是切切實實的一面。所以一般情況下你會將表單提交給一些PHP代碼,看看提交的字段是否會導致錯誤,然後設置一些變量來獲取錯誤。

當提交表單,並且想知道它們裏面的值是什麼時,您需要在輸入元素上使用ID。這將允許你與$ _POST數組交談(我知道你說的不是數組,但是這是將表單提交給PHP的方式)。

說了這麼多,我們通常不會允許他們在輸入中輸入無效數據。通常會使用一些JavaScript來警告用戶他們的輸入無效,從而帶來更好的用戶體驗。

至於這是一個家庭作業,請看看$ _POST在PHP中,並決定是否可以/要使用JavaScript來阻止錯誤發生之前。 (有噸的文章/帖子有幫助與上述兩者)

+0

$ _POST實際上包含在本章中!還有第二頁,其中有一些很好,結果頁面。所以我需要添加一些POST數組這裏是你在說什麼?像設置初始$ error_message = $ _POST('error_message'),然後在if語句中爲每個單獨的字段設置錯誤消息? – Brocktoon 2014-09-05 15:04:27

+0

您的表單操作會向$ display_discount.php發送一個$ _POST信息數組,PHP文件將在$ _POST數組中添加表單的所有值(添加ID後)。然後您可以測試空的輸入字段並相應地顯示錯誤。 – 2014-09-05 15:06:10

+0

我注意到ID不是必需的,但是如果您需要訪問特定的字段,那麼您的輸入字段中的ID必須帶有ID。在你的情況下不需要,但我覺得這是很好的做法。這是一個很好的鏈接。 http://stackoverflow.com/questions/7470268/html-input-name-vs-id – 2014-09-05 15:10:51

相關問題