【发布时间】:2017-04-21 22:22:22
【问题描述】:
在有人告诉我看其他类似的帖子之前,我已经有了,但我找不到任何解决问题的方法。 我正在为一个项目构建问卷,我使用的是 php 5.6、xampp、phpmyadmin、Phpstorm 2017.1.2,当然还有常用的语言 html css javacript。 为了少写代码,我使用了masterpage的方法来搭建我的问卷网站。 因此,我有一个 do-test.php,我将问卷单独放在其中,还有一个 index.php,其中有页面的主要框架。 我有带有各种字段集及其输入的问卷调查表。最后,我点击了一个 input type=submit 按钮,并且应该提交表单。但是我的 $_POST 方法根本不起作用。
以下代码完成所有工作。不幸的是,由于我不知道的原因,当 if 语句运行时,它甚至没有查看 isset 或 !empty 方法。
使用 IDE 调试器
在没有母版页的情况下调试do-test.php。: 我的xdebug(安装在phpstorm中),直接从if语句中的断点跳转到页面底部。我尝试使用带有“未设置提交”的消息的 else 并在提交表单之前和之后显示它。
if(isset($_POST['Submit']) && !empty($_POST['Submit'])) {
$results = new Results();
$results->ProcessRequest();
if ($results->isSuccessful()) {
echo "<script type='text/javascript'>
alert('Your data is sent to the server');
</script>";
} else {
echo "<script type='text/javascript'>
alert('Something went wrong.');
</script>";
}
}
使用母版页调试 do-test.php:Gets me 502 bad gateway error
使用本地主机调试
使用此代码 sn-p here 我试图看看发生了什么。 从母版页或简单的测试页提交表单,给我以下结果:
这意味着我的 post 数组具有所有正确的变量。剩下的就是要执行的方法和传递到数据库的数据。
我的 post_max_size 和 variables_order(来自here 的建议)是正确的。 magic_quotes_gpc(来自 post)在 php.ini 中已关闭。
GeorgeMillo 所说的是否是 http 模块干扰了 POST here???如果是这样,我该如何篡改这些? 会不会是我的phpstorm版本或者php版本有问题?
欢迎提出任何建议。提前谢谢你。
【问题讨论】:
-
而不是
if(isset($_POST['Submit']) && !empty($_POST['Submit'])) {使用if(count($_POST)>0){ -
"当 if 语句运行时,它甚至不会查看 isset 或 !empty 方法" 那么为什么如果不是问题的话,那是你问题中唯一的代码呢?跨度>
-
@mike32 错误报告对我没有帮助。我已经启用了警告和通知,但我没有成功。但是谢谢你的链接,我会记住一切的。
标签: php forms post master-pages xdebug