PHP,POST问题

时间:2016-10-23 00:59:58

标签: php

我目前遇到的问题是让我的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>

但是,我收到一个未定义的索引错误。在我使用MAMP堆栈的mac上也会出现同样的问题。 $_GET工作正常,但是,根据良好做法,您在处理表单时不希望使用GET。

如何修复它以便输出“Welcome $ UserInputHere”?

2 个答案:

答案 0 :(得分:0)

所以我找到了解决方案。这当然是在我的Windows机器上,但我想类似的东西适用于Mac。转到xampp文件夹,找到httpdocs文件夹,然后在那里完成工作。

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

答案 1 :(得分:0)

那不是解决方案。我将PHPStorm和XAMPP与位于默认PHPStorm项目位置的webroot文件夹一起使用(只需修改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,则可能需要为Web服务器根目录添加Require all granted(或旧版本的apache中的Allow from all)。这就是全部。