Как использовать переменную $_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