if(!empty($ _POST))无效

时间:2013-04-10 21:27:31

标签: php post

我有这个表单并且我的$ _POST数据有问题:

形式:

<form action="" id="contact-form" method="post">

           <input id="nombre" size="16" type="text" placeholder="Nombre">

           <input id="email" size="16" type="text" placeholder="Email">

           <textarea id="texto"></textarea>

           <input type="submit" value="Enviar">

PHP:

<?php

 if(!empty($_POST) {

 echo "YES";

 } else {

 echo "NO";

 }

?>

当我完成并提交所有字段时,它总是回应“否”。

6 个答案:

答案 0 :(得分:3)

您错过了输入字段的name属性。更改你的html并添加它们:

<form action="" id="contact-form" method="post">
    <input id="nombre" name="nombre" size="16" type="text" placeholder="Nombre">
    <input id="email" name="email" size="16" type="text" placeholder="Email">
    <textarea id="texto" name="texto"></textarea>
    <input type="submit" value="Enviar">

请注意,id属性不是必需的。如果您不需要将其用于其他目的,例如在样式表或javascript中使用它,则可以省略它。只需发送表单,只需要name属性

答案 1 :(得分:1)

如果您想要特定字段,请尝试:

if(isset($_POST['field']{0})){

如果要检查多个字段POST,请尝试:

if(count($_POST)>0){

答案 2 :(得分:0)

您的输入应设置name属性,并将其设置在$ _POST数组中。在发布表单时会忽略id

<input id="nombre" size="16" type="text" placeholder="Nombre" name="nombre">

你将在$ _POST ['nombre']

中得到它

答案 3 :(得分:0)

这是一种替代解决方案,如果您在输入中添加 “name” 属性,它应该有效:

 if (count($_POST) == 0)  {

         echo "YES";
    }
  else {

         echo "NO";

       }

答案 4 :(得分:-1)

您需要指定一个变量,例如$_POST['email']。对于所有字段,尝试;

if(!empty($_POST['Nombre']) && !empty( $_POST['email']) && !empty ( $_POST['texto'])) { ...

抱歉,我正在使用移动设备,这样可以让所有拼写正确无误。

答案 5 :(得分:-1)

if (empty($_POST['qty'])) {
    echo "<script>alert('inputan Quality tidak boleh kosong');history.go(-1);</script>";
} 
else {
    ...
}

所以没有验证错误,这里我使用数组