我首先要说的是,我已经看过几个类似的问题,但我还没有找到解决问题的方法。
我在名为test.php
的页面上有以下内容。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8">
</head>
<body>
<p><?php print_r($_POST); ?></p>
<hr />
<p><?php echo empty($_POST) ? 'Empty' : 'Not empty'; ?></p>
<hr />
<form action="test.php" method="post">
<input id="example" type="text" />
<input id="submit" type="submit" value="Send" />
</form>
</body>
</html>
在输入中提交带有文本的表单后,$ _POST数组始终为空。由于我见过的几个答案都提到了PHP设置,我在下面复制了我的php.ini文件。
register_globals = off
allow_url_fopen = off
expose_php = Off
max_input_time = 60
variables_order = "EGPCS"
extension_dir = ./
upload_tmp_dir = /tmp
precision = 12
SMTP = relay-hosting.secureserver.net
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
如果重要,我正在使用GoDaddy托管,并且没有以任何重要方式修改默认设置。任何帮助将不胜感激。
答案 0 :(得分:10)
您需要使用name属性,而不是ID属性。如果没有元素具有name属性,则数组中不会显示任何数据。
<form action="test.php" method="post">
<input name="example" type="text" />
<input name="submit" type="submit" value="Send" />
</form>
答案 1 :(得分:4)
使用name属性代替id或id
<input name="example" id="example" type="text" />
答案 2 :(得分:2)
在表单提交中发送数据时使用name
属性。因此,您必须指定name
属性。
<input id="example" name="example" type="text" />
<input id="submit" type="submit" value="Send" />
答案 3 :(得分:0)
除非我从encoding="text/plain"
移除form
,否则对我没有任何作用。这显然是严格禁止的。