PHP风暴中的帖子出现了奇怪的问题


Strange issue with post in PHP Storm

我想从$_POST打印出数据,但由于某种原因,在我执行POST时,PHP端没有接收到数据。

这是一个名为test.php 的文件中的超级简单代码

<?php
    echo "<b>GET </b>";
    print_r($_GET);
    echo "<br><b>POST </b>";
    print_r($_POST);
?>
<html>
    <body>
        <form action="test.php" method="post">
            <input type="text" name="name"><br>
            <input type="text" name="email"><br>
            <input type="submit">
        </form>
    </body>
</html>

当我访问http://localhost:63342/pastr/test.php并填写姓名和电子邮件并点击提交时,信息确实会被发布。我查看了Chrome的网络标签,发现数据像name=this+should+get+posted+as+name&email=this+should+get+posted+as+email一样发布。

以下是完整标题的屏幕截图,以防问题隐藏在其中:https://i.stack.imgur.com/OEtga.png

除了网页显示以下内容外,一切似乎都在工作:

GET Array ( )
POST Array ( )

POST数组不知怎么是空的?我做错了什么?

注意,如果我将方法更改为GET,这很好,当我更改为GET时,我会看到:

GET Array ( [name] => this should be name [email] => this should be email )
POST Array ( )

我的问题是:我在打印POST ed数据时做错了什么?我如何修复它,以便打印出收到的姓名和电子邮件?

注意:尝试echo $_POST['name']echo $_POST['email']都会导致非常相似的错误:Notice: Undefined index: name in C:'Users'Admin'Desktop'2'g'pastr'test.php on line 8
Notice: Undefined index: email in C:'Users'Admin'Desktop'2'g'pastr'test.php on line 9

使用WAMP中的Apache(或任何其他合适的web服务器)为您的web请求提供服务。现在您使用的是PhpStorm自己内置的简单web服务器,ATM在处理POST请求时遇到了问题。

希望它能帮助

如果Web服务器实际处理相同的test.php,脚本是正确的,它应该可以工作。尝试使用$_SERVER['PHP_SELF']而不是硬编码的test.php:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">