2013-04-24 113 views
-2

我正在嘗試學習PHP(只是一個小小的項目)。我正在嘗試遵循this教程,但是當我這樣做時,它不起作用。首先我coppied確切的代碼,而它仍然沒有工作,但這裏是我的一些代碼:

<?php 
     if($_POST['projectSubmit'] == "Submit") 
     { 
      $toApprove= $_POST['projectName']; 
     } 
    ?> 


    <form action ="getData" method="post" > 
     <input type="text" name="projectName"> 
     <input type="submit" name="projectSubmit" value="Submit"> 
    </form> 

然而,我得到一個錯誤:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined index: projectSubmit 

Filename: views/ViewProjectApproval.php 

Line Number: 13 

我在做什麼錯?

答案:這是一種將數據傳回控制器的正確方法嗎? (與代碼點火器模型視圖控制器)

+0

你可以把這些通知關閉http://stackoverflow.com/questions/2867057/how-do-i-turn-off-php-notices但我建議讓他們爲現在。 – Waygood 2013-04-24 15:43:40

+0

@Waygood所以這是一個非致命的錯誤呢?介意解釋是什麼造成的? – Kalec 2013-04-24 15:45:14

+1

chandresh_cool已經回答了。解釋是你試圖訪問尚未創建的$ _POST元素。 (這是你提交表單後)。順便說一句,這不是MVC。 – Waygood 2013-04-24 15:46:37

回答

1

使用此

if (isset($_POST['projectSubmit']) && $_POST['projectSubmit'] == "Submit") 
+0

可能重複您是否知道我的錯誤是什麼?我不想按照代碼錯誤的網站關注教程。 – Kalec 2013-04-24 15:45:56

+2

您直接檢查$ _POST ['projectSubmit']的值,首先檢查是否post變量可用或不使用isset,因爲POST值僅在您使用按鈕提交表單時出現。 – 2013-04-24 15:48:17

3

使用:

if (isset($_POST['projectSubmit'])) { /*...*/ } 

這用來檢查參數被髮送。 (這裏:表格提交時)