表单提交后返回null

时间:2013-08-14 06:11:35

标签: php forms null isset

作为一名PHP初学者,我遇到了以下问题。我已经制作了一个HTML表单,如下所示:

<form action="mailtest.php" method="post">
<p>First_name: </p><input  type="text" name="first_name" maxlength="50" size="30">
<input type="submit" value="Submit">
</form>

问题在于,在PHP脚本(“mailtest.PHP”)中,isset($_POST['first_name'])的值总是为FALSE,即使我在提交表单之前键入了名字。 (对于所有其他表单字段也是如此,我没有包含在上面的代码中。)

换句话说,PHP以某种方式不会将提交的值(或空字符串,就像我的情况)分配给变量$_POST['first_name'],而是认为$_POST['first_name']等于null ...所以事情显然没有在这里连接。但是什么?

在PHP代码中,我(现在)只测试$ _POST ['voornaam']是否为null,如下所示:

if(!isset($_POST['first_name'])) {echo 'yes!';} else {echo 'no!';} 

这总是导致'不!'

4 个答案:

答案 0 :(得分:0)

您的支票是INVERSE它应该是什么(如果它的所有voornaam而不是first_name)

if(!isset($_POST['voornaam'])) {echo 'yes!';} else {echo 'no!';} 

这意味着如果voornam设置为NOT,则说出yes,如果已设置,则说no

应该是

if(isset($_POST['voornaam'])) {echo 'yes!';} else {echo 'no!';} 

答案 1 :(得分:0)

更改

 $_POST['voornaam']

to
$_POST['first_name']
是吗?

voornaam是你将在文本框中插入的值,你将进入$ fname = $ _POST ['first_name']; // voornaam

只需使用

if (isset($_POST))
{

  if ($_POST['first_name'] && $_POST['first_name'] !='' )
  {
     echo "yes, first_name was entered... ";

  }

}

答案 2 :(得分:0)

if(!$_POST['voornaam']) {echo 'yes!';} else {echo 'no!';} 

remove the isset.!$_POST is equals to false. either true.

答案 3 :(得分:0)

如果您在mailtest.php文件中获得发布数据,请尝试以下代码。

if(!isset($_REQUEST['first_name'])) {echo 'yes!';} else {echo 'no!';} 

使用$ _REQUEST获取其他页面中的帖子变量。因为你已经将表格动作设置为mailtest.php。所以请在maintest.php文件上尝试上面的代码。