得到了一个小问题,这段代码
<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”,而没有其他任何内容。有什么建议吗?
编辑:是的,有表格。
谢谢!
答案 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)
答案 4 :(得分:0)
我的猜测是,服务器没有分配$_GET
和/或$_POST
。你可以在php配置中检查一下。
看看您是否可以通过$_REQUEST
访问数据,这应该统一获取和发布数据。