$ _POST方法和isset方法和!空方法不起作用

时间:2017-04-21 22:22:22

标签: php forms post master-pages xdebug

在有人告诉我查看其他类似帖子之前,我已经有了,我找不到解决问题的方法。 我正在为一个项目构建调查问卷,我正在使用php 5.6,xampp,phpmyadmin,Phpstorm 2017.1.2,当然还有通常的语言html css javacript。 为了编写更少的代码,我使用母版页方法来构建我的调查问卷的网站。 因此,我有一个do-test.php,我在其中单独调查问卷和index.php,其中我有页面的主要骨架。 我的调查问卷表格包含各种字段集及其输入。最后,我点击了一个输入类型=提交按钮,表单应该被提交。但是我的$ _POST方法根本不起作用。

以下代码完成所有工作。不幸的是,由于我不知道的原因,当if语句运行时,它甚至不会查看isset或!empty方法。

使用IDE调试器

在没有主页的情况下调试do-test.php。我的xdebug(安装在phpstorm中)直接从if语句中的断点跳转到页面底部。我尝试使用带有“提交未设置”的消息,并在提交表单之前和之后显示。

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>";
    }
 }

我的http原始帖子数据可见,但帖子数组为空。 My http raw post data is visible but the post array is empty.

使用主页面调试do-test.php :获取502错误的网关错误

使用localhost调试

使用此代码段here我试着看看发生了什么。 从主页面或简单的测试页面提交表单,给出了以下结果: enter image description here

这意味着我的post数组具有所有正确的变量。剩下的就是要执行的方法以及数据传递到db。

我的post_max_size和variables_order(来自here的建议)是正确的。 magic_quotes_gpc(来自此post)在php.ini中已关闭。

可能是GeorgeMillo告诉的干扰POST的http模块 here ...如果是这样,我该如何篡改这些? 我的phpstorm版本或php版本会出现问题吗?

欢迎任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我可能写错了一些东西,所以给出了错误的印象。我写了“当if语句运行时”,实际上,调试器运行并尝试执行if语句,但它没有。对不起我的错误解释。

成员“Alive or Die”给了我一个简单的使用

的解决方案
if(count($_POST)>0)

它有效!!所以我会坚持下去。 感谢大家的快速评论,并指出当人们看不到它时显而易见的事情!