1

可能重复:
PHP 检测请求类型(GET、POST、PUT 或 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>

原来它的回报存在?我在哪里做错或任何其他工作?

4

1 回答 1

3

$_GET并且$_POST超全局变量无论是否通过都存在,因此检查它们将返回 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
于 2012-08-03T05:57:46.837 回答