表单提交时,PHP $ _POST数组始终为空

时间:2012-01-18 02:17:45

标签: php html

我首先要说的是,我已经看过几个类似的问题,但我还没有找到解决问题的方法。

我在名为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托管,并且没有以任何重要方式修改默认设置。任何帮助将不胜感激。

4 个答案:

答案 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,否则对我没有任何作用。这显然是严格禁止的。

相关问题