我目前遇到的问题是让我的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”?
答案 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
)。这就是全部。