在有人告诉我查看其他类似帖子之前,我已经有了,我找不到解决问题的方法。 我正在为一个项目构建调查问卷,我正在使用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>";
}
}
使用主页面调试do-test.php :获取502错误的网关错误
使用localhost调试
使用此代码段here我试着看看发生了什么。 从主页面或简单的测试页面提交表单,给出了以下结果:
这意味着我的post数组具有所有正确的变量。剩下的就是要执行的方法以及数据传递到db。
我的post_max_size和variables_order(来自here的建议)是正确的。 magic_quotes_gpc(来自此post)在php.ini中已关闭。
可能是GeorgeMillo告诉的干扰POST的http模块 here ...如果是这样,我该如何篡改这些? 我的phpstorm版本或php版本会出现问题吗?
欢迎任何建议。提前谢谢。
答案 0 :(得分:0)
我可能写错了一些东西,所以给出了错误的印象。我写了“当if语句运行时”,实际上,调试器运行并尝试执行if语句,但它没有。对不起我的错误解释。
成员“Alive or Die”给了我一个简单的使用
的解决方案if(count($_POST)>0)
它有效!!所以我会坚持下去。 感谢大家的快速评论,并指出当人们看不到它时显而易见的事情!