PHP, issues with POST


PHP, issues with POST

我目前有一个问题,让我的POST请求显示所需的内容,即回显用户输入。我使用PhpStorm作为我的IDE和XAMPP,来自Windows的安装程序,作为我的堆栈。

用户提交表单看起来如下,它是一个.php文件。

<form method="post" action="matches-submit.php">
            <fieldset>
                <legend>Returning User:</legend>
                <ul>
                    <li><label><strong>Name:</strong></label>
                        <input id="name" name="name" type="text" size="16">
                    </li>
                    <li>
                        <input id="submit" name="submit" type="submit" value="Sign Up">
                    </li>
                </ul>
            </fieldset>
        </form>

处理这个提交的表单如下所示:

<html>
    <body>
    Welcome
        <?php
            echo $_POST["name"];
        ?>
    </body>
</html>

然而,我得到一个未定义的索引错误。同样的问题发生在我的mac上,我使用MAMP堆栈代替。$_GET工作得很好,但是,根据良好的实践,您不希望在处理表单时使用GET。

我如何修复它,使它将输出"欢迎$UserInputHere"?

所以我找到了一个解决方案。这当然是在我的Windows电脑上,但我想类似的事情也适用于mac电脑。转到xampp文件夹,找到httpdocs文件夹,并在那里进行工作。

之后,打开服务器,您应该能够通过localhost正常访问它。意思是,你仍然可以使用phpstorm作为你的ide,但绕过它的内置服务器,这是有问题的post。

这不是解决办法。我使用PHPStorm和XAMPP与webroot文件夹位于默认的PHPStorm项目位置(所有需要的是修改VirtualHost条目,DocumentRoot),我的请求响应工作正常。

这可能是一个微不足道的错误配置最有可能在你以前的.htaccess

编辑:要设置虚拟主机,请执行以下操作:

  • 输入C:'xampp'apache'conf'extra,编辑http-vhosts.conf,添加:

<VirtualHost *:80> ServerName localhost DocumentRoot C:'Users'YOUR_PHPSTORM_PROJECT_FOLDER </VirtualHost>

  • 编辑C:'system32'drivers'etc'hosts如果您选择的服务器名称不是localhost,则添加以下条目:127.0.0.1 arbitraryservername

  • 重启XAMPP

如果你得到HTTP 403,你可能需要添加Require all granted(或Allow from all在旧版本的apache)的web服务器根目录。就是这样。