PhpStorm:简单 PHP 表单未发布
PhpStorm: Simple PHP form not posting
我看了几个例子,甚至复制了解决方案;无论我做什么,我的 HTML 表单 中的数据都不会 post.
对于卡住的用户,最典型的 SO 解决方案是包含 name
属性,但自从我第一次尝试以来我就已经这样做了。
这是我的 HTML:
<form style="color:red;" action="test.php" method="post">
Name: <input style="color:blue;" type="text" name="formName"><br>
E-mail: <input style="color:blue;" type="text" name="formEmail"><br>
<input type="submit">
</form>
下面是页面的快照。
这是 test.php
的代码
<html>
<body>
Welcome <?php echo $_POST["formName"]; ?><br>
Your email address is: <?php echo $_POST["formEmail"]; ?>
</body>
</html>
下面是我填写的数据图片
以及当我单击 提交时的结果页面。
好多年没用了PHP;我不记得它这么复杂所以我假设我做错了什么或者我的ini文件有问题?谢谢。
编辑: 以下是我尝试过的一些建议:
"Try putting <?php phpinfo(); ?>
into a test .php"
它运行成功,如下所示。
"What happens when you var_dump($_POST)
?"
唯一打印到屏幕上的是 array(0) { }
"How are you accessing this? as http://localhost/file.xxx
or as file:///file.xxx
?"
这实际上有助于缩小问题的范围!如前所述,我已经尝试以 两种 方式对此进行测试;通过 PhpStorm(部署在本地主机环境中)和我的服务器。我搞砸了服务器方法,不是通过本地主机 运行 它;修复此问题后,PHP 脚本会按预期在服务器 上运行 !所以现在我可以将问题缩小到我的 PhpStorm 环境 的问题,它运行 localhost
中的脚本。请记住,我已经尝试了 both 服务器和 PhpStorm 的所有建议,所以这意味着我 did try <?php phpinfo(); ?>
在 PhpStorm 中,它按预期工作。因为服务器方法工作正常,所以我的设置、.ini、and/or php 可能在我的机器上安装有问题。
您忘记了调用解释器的 ?php 指令。
该代码适用于我(显然也适用于其他人)。从淘汰过程来看,你的问题真的只有一个答案:
你的环境一团糟。
首先,确保 PHP 已安装并且 运行 正确。使用此代码创建一个测试 .php
文件:
<?php
phpinfo();
?>
通过在网络浏览器中访问此页面,您应该看到一个巨大的 PHP 信息转储。如果您没有看到任何东西,那么 PHP 没有正确安装或配置。
请检查 test.php 与您的第一个 html 文件位于同一目录中。如果是,请尝试替换为:
第一个:
<form style="color:red;" method="POST" action="test.php">
Name: <input style="color:blue;" type="text" name="formName"><br>
E-mail: <input style="color:blue;" type="text" name="formEmail"><br>
<input type="submit">
</form>
test.php
<html>
<body>
Welcome <?=$_POST["formName"]?><br>
Your email address is: <?=$_POST["formEmail"]?>
</body>
</html>
更新
尝试将此代码添加到您的 php-script 的 header,这将显示任何错误:
<?
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
这实际上是 PhpStorm 的一个众所周知的问题。您可以按照本指南 进行操作,并会发现它解决了这个问题(就像它对我所做的那样)。正如作者在那里所述,“您正在使用 PhpStorm 自己的内置 Web 服务器,它现在存在一些问题(尤其是 POST 请求,例如WEB-17317).
基本上,我所做的就是遵循此页面上的步骤:https://confluence.jetbrains.com/display/PhpStorm/Deploying+PHP+applications+with+PhpStorm
一个好的开始是配置您的项目以部署在您的服务器上。
工具 -> 部署 -> 配置
我看了几个例子,甚至复制了解决方案;无论我做什么,我的 HTML 表单 中的数据都不会 post.
对于卡住的用户,最典型的 SO 解决方案是包含 name
属性,但自从我第一次尝试以来我就已经这样做了。
这是我的 HTML:
<form style="color:red;" action="test.php" method="post">
Name: <input style="color:blue;" type="text" name="formName"><br>
E-mail: <input style="color:blue;" type="text" name="formEmail"><br>
<input type="submit">
</form>
下面是页面的快照。
这是 test.php
<html>
<body>
Welcome <?php echo $_POST["formName"]; ?><br>
Your email address is: <?php echo $_POST["formEmail"]; ?>
</body>
</html>
下面是我填写的数据图片
以及当我单击 提交时的结果页面。
好多年没用了PHP;我不记得它这么复杂所以我假设我做错了什么或者我的ini文件有问题?谢谢。
编辑: 以下是我尝试过的一些建议:
"Try putting
<?php phpinfo(); ?>
into a test .php" 它运行成功,如下所示。"What happens when you
var_dump($_POST)
?" 唯一打印到屏幕上的是array(0) { }
"How are you accessing this? as
http://localhost/file.xxx
or asfile:///file.xxx
?" 这实际上有助于缩小问题的范围!如前所述,我已经尝试以 两种 方式对此进行测试;通过 PhpStorm(部署在本地主机环境中)和我的服务器。我搞砸了服务器方法,不是通过本地主机 运行 它;修复此问题后,PHP 脚本会按预期在服务器 上运行 !所以现在我可以将问题缩小到我的 PhpStorm 环境 的问题,它运行localhost
中的脚本。请记住,我已经尝试了 both 服务器和 PhpStorm 的所有建议,所以这意味着我 did try<?php phpinfo(); ?>
在 PhpStorm 中,它按预期工作。因为服务器方法工作正常,所以我的设置、.ini、and/or php 可能在我的机器上安装有问题。
您忘记了调用解释器的 ?php 指令。
该代码适用于我(显然也适用于其他人)。从淘汰过程来看,你的问题真的只有一个答案:
你的环境一团糟。
首先,确保 PHP 已安装并且 运行 正确。使用此代码创建一个测试 .php
文件:
<?php
phpinfo();
?>
通过在网络浏览器中访问此页面,您应该看到一个巨大的 PHP 信息转储。如果您没有看到任何东西,那么 PHP 没有正确安装或配置。
请检查 test.php 与您的第一个 html 文件位于同一目录中。如果是,请尝试替换为:
第一个:
<form style="color:red;" method="POST" action="test.php">
Name: <input style="color:blue;" type="text" name="formName"><br>
E-mail: <input style="color:blue;" type="text" name="formEmail"><br>
<input type="submit">
</form>
test.php
<html>
<body>
Welcome <?=$_POST["formName"]?><br>
Your email address is: <?=$_POST["formEmail"]?>
</body>
</html>
更新 尝试将此代码添加到您的 php-script 的 header,这将显示任何错误:
<?
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
这实际上是 PhpStorm 的一个众所周知的问题。您可以按照本指南
基本上,我所做的就是遵循此页面上的步骤:https://confluence.jetbrains.com/display/PhpStorm/Deploying+PHP+applications+with+PhpStorm
一个好的开始是配置您的项目以部署在您的服务器上。
工具 -> 部署 -> 配置