将$ _POST分配给var无效

时间:2014-01-27 12:59:42

标签: php

我相信这很简单,但我不明白为什么这不起作用:

post.php的内容:

<form action="receive.php" />
    <p>input</p>
    <div><textarea id='sendme' name="sendme" cols="30" rows="4"></textarea></div>
    <div><input type="submit" /></div>
</form>

receive.php的内容:

 <?php 
 if(isset($_POST)==true && empty($_POST)==false){ 
     $data = $_POST['sendme'];
 }
 echo $_POST['sendme'];
 echo $data;
 ?>

结果:

没什么:|

5 个答案:

答案 0 :(得分:3)

您已在表单method="post"中设置,因此:

<form action="receive.php" method="post">
    ...
</form>

您也可以<form>关闭/>代码 - 您不应该这样做。

答案 1 :(得分:2)

你的问题是你没有对你的表单使用post方法,<form>的默认方法是get,如果你想通过post方法发送数据,你应该这样做:

<form action="..." method="post"> ... </form>

注意:解决问题后,请注意全局变量$_POST 始终设置,如果没有从用户发布数据,则其值为空数组:array()

因此,isset($_POST)始终返回true。

您必须以这种方式检查if($_POST),检查$_POST是否为空。

答案 2 :(得分:1)

首先在表单标记method="post"

中添加方法

然后print_r($_POST)看你是否收到任何东西。

答案 3 :(得分:1)

向表单添加方法,否则,它将收到$ _GET ['sendme']

<form action="receive.php" method="post">

答案 4 :(得分:1)

您必须将方法属性传递给表单标记

<form action="receive.php" method = "POST">