PHP不会回显$ _POST

时间:2010-04-26 11:28:46

标签: php

得到了一个小问题,这段代码

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php
...
echo '<input name="textfield" type="text" id="textfield" value="Roger" />';
echo 'Hello, '.$_POST['textfield'].'<br>';
...
?></p>
</form>

应该回显“Hello,Roger”,因为roger是默认值,但它只发出“Hello”,而没有其他任何内容。有什么建议吗?

编辑:是的,有表格。

谢谢!

5 个答案:

答案 0 :(得分:7)

您正在回显文本框,同时希望获得其值,这是不可能的。

echo '<input name="textfield" type="text" id="textfield" value="Roger" />';
echo 'Hello, '.$_POST['textfield'].'<br>';

您需要首先提交方法设置为post的表单,然后才能获得其值。

示例:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
...
<input name="textfield" type="text" id="textfield" value="Roger" />
...
<input name="submit" type="submit" id="submit" value="submit" />
</form>

<强> PHP

if (isset($_POST['submit']))
{
    echo 'Hello, '.$_POST['textfield'].'<br>';
}

答案 1 :(得分:3)

尝试print_r($_POST)var_dump($_POST)查看是否有任何POST数据提交。

编辑:您是否在表单标记中将POST指定为提交方法?你提交表格吗?请显示整个<form> - 标记。

答案 2 :(得分:2)

如果这确实是您的代码,那么问题是$ _POST尚未设置,因为没有提交表单。

答案 3 :(得分:0)

  • 检查css(它隐藏了吗??=
  • 检查页面的来源(输入字段是否出现?)
  • 如果要将输入提交回同一页面,请不要忘记将输入包装在表单中。

答案 4 :(得分:0)

我的猜测是,服务器没有分配$_GET和/或$_POST。你可以在php配置中检查一下。

看看您是否可以通过$_REQUEST访问数据,这应该统一获取和发布数据。