【发布时间】:2016-10-23 00:59:57
【问题描述】:
我目前在让我的 POST 请求显示所需内容(即回显用户输入)时遇到问题。我使用 PhpStorm 作为我的 IDE,并使用 Windows 安装程序中的 XAMPP 作为我的堆栈。
用户提交表单如下所示,它是一个.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”?
【问题讨论】:
-
使用这个确切的脚本,它对我有用。是否正在发送标头?
-
尝试
"<pre>",print_r($_POST),"<pre>";- 这将显示POST数组及其所有内容,如果数组中没有内容,您将开始知道哪里出错了这是发送操作的问题。确保您不只是打开页面而不单击表单上的提交。 :) -
做进一步的研究,好像 phpstorms 内置在 web 服务器上,自从 get 工作以来,post 有问题。因此,作为后续,我想知道你们中是否有人知道如何让 phpstorm 使用自己的 apache 服务器。我为我的 Mac 下载了 MAMP 堆栈,当然还为 Windows 下载了 XAMPP。
-
该命令的结果也是:数组 ( )。所以 POST 似乎什么也没发送。
-
要非常小心...在 HTML 上下文中使用的任意数据周围使用
htmlspecialchars()(例如您的$_POST['name'])。否则,您将面临在页面中注入代码的风险。
标签: php