2013-04-24 107 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'])) { /*...*/ } 

这用来检查参数被发送。 (这里:表格提交时)