回答
这将工作,如果你知道并期望在同一页上的这样一个提交按钮。
如果你不立即知道关于请求变量什么,另一种方法是检查请求的方法:
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST')
正如在评论中指出,要专门检查postback,不是任何POST请求,你需要确保引用者与处理页面是相同的页面。像这样的:
if (basename($_SERVER['HTTP_REFERER']) == $_SERVER['SCRIPT_NAME'])
你应该使用'==='而不是'=='。解释,为什么,可能会在[本答案](http://stackoverflow.com/a/1372163/1469208)的注释中以及许多其他资源中找到解释,因为这些是PHP编程的基础。 – trejder 2014-02-24 09:41:15
的name
你想$_SERVER['REQUEST_METHOD'] == 'POST'
。
您的问题与this one的问题非常类似,但不太一般。
这可能是比实际检查帖子变量更好的方法。首先,你不知道这个变量是否会被发送。我有预感,如果没有指定值,一些浏览器根本不会发送密钥。另外,如果没有POST的值,我担心一些PHP的风格可能不会定义$_POST
。
你应该使用'==='而不是'=='。解释,为什么,可能会在[本答案](http://stackoverflow.com/a/1372163/1469208)的注释中以及许多其他资源中找到解释,因为这些是PHP编程的基础。 – trejder 2014-02-24 09:41:45
是的。你也可以使用if(array_key_exists('submit', $_POST))
是的,应该这样做。
当您使用image
类型提交时,他们将不会在某些浏览器中发送name
属性,并且您将无法检测到POST。几次将我的头撞向桌面,直到我自己意识到这一点。
解决方法是添加hidden
类型的输入。
如果你想拥有不依赖“法”的一般程序(POST/GET)和论坛要素的任何其它名字,那么我建议这个
<?php
$isPostBack = false;
$referer = "";
$thisPage = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
if (isset($_SERVER['HTTP_REFERER'])){
$referer = $_SERVER['HTTP_REFERER'];
}
if ($referer == $thisPage){
$isPostBack = true;
}
?>
现在如果$的IsPostBack为真如果它是回传,如果不是,则返回false。
我希望这可以帮助
- 1. Codeigniter - 检查是否发出GET请求
- 2. 是否可以检查是否从IMG标签发出请求?
- 3. 检查请求是否在相同的请求mvc
- 4. PHP检查传入请求是否是JSON类型
- 5. 检查Web API请求是否完成
- 6. Umbraco - 检查请求是否为XmlHttpRequest
- 7. 如何在codeigniter中检查请求是POST还是GET请求?
- 8. 检查JSON请求与否
- 9. PHP请求检查客户端是否可通过IP
- 10. 检查是否参数存在与否在请求
- 11. 如何检测请求是否是Global.asax中的回调?
- 12. 如何检查HTTP请求是否在浏览器中打开?
- 13. 检查标头是否出现在与apache的请求中
- 14. 检查MVC中每个请求上是否存在用户?
- 15. 检查Laravel 5.3的HTTP请求中是否存在$ _GET变量
- 16. 检查URL是否存在 - HTTP请求总是返回一个异常
- 17. 是否可以在NSUrl请求中发送数据库查询?
- 18. 检查C#php soap是否返回soapFault
- 19. 检查是否在PHP
- 20. 检查是否在PHP
- 21. 如何检查UpdatePanel是否回发?
- 22. PHP - 如何检查Curl实际发布/发送请求?
- 23. 在PHP中检查URL是否存在
- 24. 是否可以检查文件是否存在,而无需在Linux中向硬盘发出请求?
- 25. 如何检查请求是否来自手机或电脑在php
- 26. 如何检查请求参数/查询参数是否在Spring MVC应用程序中的请求中传递?
- 27. 如何在发送请求体之前检查PUT是否可以执行?
- 28. React - 在发送邮寄请求之前如何检查JWT是否有效?
- 29. 我如何检查是否请求后在Zend框架
- 30. 如何检查是否正在从代理请求页面?
你想检查是否有'post'数据存在,或者'submit'数据是否存在? – Ben 2010-11-22 03:39:19
检查帖子或回复?回帖是特定类型的帖子请求。 – 2010-11-22 04:06:56
@Steve,@Lèsemajesté,基本上,我只是想看看表格是否回传,所以我会回复帖子 – 2010-11-22 04:48:42