PHP 8.4.2 Released!

$_REQUEST

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_REQUESTHTTP İstek değişkenleri

Açıklama

Öntanımlı olarak $_GET, $_POST ve $_COOKIE değişkenlerini içeren ilişkisel bir dizidir.

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Bilginize:

Komut satırından çalışmada, bu dizi argv ve argc girdilerinde içerilmez; bunlar $_SERVER dizisinde bulunur.

Bilginize:

$_REQUEST içindeki değişkenler betiğe GET, POST, ve COOKIE girdi mekanizmaları ile sağlanır ve bu nedenle uzak kullanıcı tarafından değiştirilebilir ve bunlara güvenilemez. Bu dizide listelenen değişkenlerin varlıkları ve sıraları PHP request_order ve variables_order yapılandırma yönergelerine göre tanımlanır.

Ayrıca Bakınız

add a note

User Contributed Notes 4 notes

up
194
strata_ranger at hotmail dot com
16 years ago
Don't forget, because $_REQUEST is a different variable than $_GET and $_POST, it is treated as such in PHP -- modifying $_GET or $_POST elements at runtime will not affect the ellements in $_REQUEST, nor vice versa.

e.g:

<?php

$_GET
['foo'] = 'a';
$_POST['bar'] = 'b';
var_dump($_GET); // Element 'foo' is string(1) "a"
var_dump($_POST); // Element 'bar' is string(1) "b"
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'

?>

If you want to evaluate $_GET and $_POST variables by a single token without including $_COOKIE in the mix, use $_SERVER['REQUEST_METHOD'] to identify the method used and set up a switch block accordingly, e.g:

<?php

switch($_SERVER['REQUEST_METHOD'])
{
case
'GET': $the_request = &$_GET; break;
case
'POST': $the_request = &$_POST; break;
.
.
// Etc.
.
default:
}
?>
up
18
mike o.
14 years ago
The default php.ini on your system as of in PHP 5.3.0 may exclude cookies from $_REQUEST. The request_order ini directive specifies what goes in the $_REQUEST array; if that does not exist, then the variables_order directive does. Your distribution's php.ini may exclude cookies by default, so beware.
up
4
codeblog.pro
4 years ago
In PHP version 7.0 with the default settings.+, $_REQUEST array does not contain cookies.
up
6
Luke Madhanga
8 years ago
To access $_POST, $_GET, etc, use the function filter_input(TYPE, varname, filter) to ensure that your data is clean.

Also, I was brought up to believe that modifying superglobals is a BAD idea. I stand by this belief and would recommend you do too
To Top