Ciao, qualcuno mi sa spiegare a cosa serve $_REQUEST con un esempio semplice e se si usa solo tramite i form?
Grazie!
Ciao, qualcuno mi sa spiegare a cosa serve $_REQUEST con un esempio semplice e se si usa solo tramite i form?
Grazie!
E' un array associativo superglobale che contiene $_GET, $_POST e $_COOKIE
Quindi si usa come useresti GET POST e COOKIE... apre le porte a chiunque.
maggiori info: http://php.net/manual/en/reserved.variables.request.php
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Per esempio se sai che il dato che ti serve è arrivato tramite $_POST è inutile cercarlo dentro a $_REQUEST che può contenere più dati.
Sinceramente no, non lo uso mai e penso che ben pochi lo facciano.
Se hai il controllo dell'applicazione, sai sempre in quale array specifico cercare ciò che ti serve.
Invece di $_POST o $_GET o $_COOKIE metti $_REQUEST. Non ci sono esempi diversi piu' chiari di questi:
un vecchio articolo di html.it: http://www.html.it/articoli/le-nuove...uperglobali-1/
dal manuale php: http://php.net/manual/en/language.va...perglobals.php
bisogna stare attenti alla priorita' di GET POST COOKIE con cui vengono valutati da $_REQUEST. Questa priorita' e' definita nel php.ini.
Se tu metti in POST un determinato valore ma un birichino di utente ti scrive nell'URL una stessa variabile con un altro valore e la precedenza di lettura definita nel php.ini fosse GET -> POST -> COOKIE il birichino di utente te frega....
Va bene usarlo quando un riferimento esterno potrebbe venire da due fonti diverse es: da una certa pagina via POST (per inserimento) e da un'altra via GET (per verificare quanto inserito) ok, questo e' solo un esempio. Ma se hai una fonte univoca esterna precisa non utilizzare $_REQUEST ma lo specifico array superglobale atteso.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
metti questi due codici in due pagine e lanciali, così vedi cosa contengono POST, GET, COOKIE,SESSION e REQUEST
form.php
action.phpCodice PHP:
<?php
session_start();
$_SESSION['sessione'] = "la sessione";
setcookie("myCookie", "qualcosa");
?>
<html>
<body>
<form method="POST" action="action.php?par=getValue">
<input type="text" name="inputText">
<input type="submit" value="Invia">
</form>
</body>
</html>
Codice PHP:
<?php
session_start();
echo "<pre>";
echo phpversion();
echo "<hr>";
echo "var_dump GET\n";
var_dump($_GET);
echo "<hr>";
echo "var_dump POST\n";
var_dump($_POST);
echo "<hr>";
echo "var_dump COOKIE\n";
var_dump($_COOKIE);
echo "<hr>";
echo "var_dump SESSION\n";
var_dump($_SESSION);
echo "<hr>";
echo "var_dump REQUEST\n";
var_dump($_REQUEST);
?>
da PHP 5.3, mi pare, $_REQUEST non contiene più i cookie