Как использовать переменную $_GET или $_POST для различения каждого типа запроса?

Возможный дубликат:
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>

Оказывается, это всегда существует? Где я сделал неправильно или какой-либо другой раунд для этого?

1 ответ

Решение

$_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
Другие вопросы по тегам