如何使用 $_GET 或 $_POST 变量来区分每种类型的请求? [复制]
Posted
技术标签:
【中文标题】如何使用 $_GET 或 $_POST 变量来区分每种类型的请求? [复制]【英文标题】:How to use $_GET or $_POST variable to distinguish each type of request? [duplicate] 【发布时间】:2012-08-01 04:01:13 【问题描述】:可能重复:php detecting request type (GET, POST, PUT or DELETE)
我想在人们多次提交表单时显示警告,并且当他使用GET
请求页面时,count
变量重置为 0;
我正在使用这种技术:
<input type="hidden" name="submissioncount" value="<?php echo $subCount; ?>" />
但在我看来 $_GET 和 $_POST 总是存在的:
<?php
if(isset($_GET))
$warning = "GET exist";
else
$warning = 'GET not exist';
if(isset($_POST))
$warning2 = "POST exsit";
else
$warning2 = 'POST not exist ';
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<?php
echo $warning;
echo $warning2;
?>
<form acion='<?php echo $_SERVER['PHP_SELF']?>' method='POST' >
<input type='submit' />
</form>
</body>
</html>
原来它还存在?我在哪里做错或任何其他工作?
【问题讨论】:
见***.com/questions/359047/… @Musa 很棒的资源! $_SERVER['REQUEST_METHOD'] 施展魔法 【参考方案1】:$_GET
和$_POST
superglobals exist 无论是否通过,因此检查它们将返回 true。检查其中的条目以确定它们是否存在。
if(isset($_POST['submissioncount'])
或
if(isset($_GET[some_GET_variable])
或者,
$meth = $_SERVER['REQUEST_METHOD'];
if($meth == 'GET')
//do something
else if($meth == 'POST')
//do something else
【讨论】:
对于if(isset($_GET[some_variable_set])
部分,如何定义variable_set?,你回答的其余部分很棒!
没有没有。我的意思是,如果您在 URL 中将一些 $_GET
参数作为 urlquery?param1=key1&param2=key2
传递,您可以将 param1 查询为 if(isset($_GET['param1'])
知道了!是否有任何现有的 urlquery 作为变量我可以使用而不附加 param1=key 最后来实现这一点?否则 $_SERVER['REQUEST_METHOD'] 工作正常
是的。那是正确的。 :)以上是关于如何使用 $_GET 或 $_POST 变量来区分每种类型的请求? [复制]的主要内容,如果未能解决你的问题,请参考以下文章