"Sono stato bocciato a parecchi esami. Un mio amico invece, li ha passati tutti a pieni voti. Ora è ingegnere e lavora in Microsoft. Io sono il proprietario."  - Bill Gates  •  "Se riesco a fare qualcosa in 10 minuti, è perché ho passato anni a studiarlo."  - Bill Gates  •  "Il vostro lavoro riempirà gran parte della vostra vita, e l'unico modo per essere veramente soddisfatti è fare ciò che ritenete sia un grande lavoro."  - Steve Jobs  •  "Siate affamati. Siate folli."  - Steve Jobs  •  

cinque 

ZERO

PHP

13. Php: Le variabili $_GET e $_POST

home / php /

Lucio Paolo Asciolla

Senior Full Stack Developer

Attraverso le variabili GET e POST è possibile passare (al server) informazioni/richieste o preferenze attraverso i form (moduli html)

Note: Per intenderci le variabili in questione servono per utilizzare ed elaborare valori immessi frontend dagli utenti in campi come per esempio campi di testo (input-text), form ecc.

La variabile $_GET

Con il metodo GET i dati vengono passati direttamente all'interno dell'indirizzo web (URL) questa tipologia di passaggio dei dati viene detta QueryString;

http://www.sito.com/file.php?nome=Lucio&cognome=Asciolla

Nota: apre con "?" seguito dai dati "nome=valore" ed in caso di più variabli esse saranno unite dal simbolo "&";
Esempio file html "pagina.html"
<html>
<form method="get" action="file.php"> // Con GET i risultati saranno scritti nella QueryString
Nome: <input type="text" name="nome">
Cognome: <input type="text" name="cognome">
<input type="submit" name="submit" value="invia">
</form>
</html>
Esempio file php "file.php"
<?php
$variabile = $_GET['nome'];  // Recupero il valore del parametro "nome" dalla QueryString
$variabile2 = $_GET['cognome'];  // Recupero il valore del parametro "cognome" dalla QueryString
echo "Hai inserito questo Nome: " . $variabile; // Ora stampo semplicemente a video il risultato
echo "Hai inserito questo Cognome: " . $variabile2; // Ora stampo semplicemente a video il risultato
?>

La variabile $_POST

Diversamente dalla variabile $_GET, per quanto simili, la variabile $_POST invia i dati al server (memorizza) ed essi non saranno visibili nella QueryString e di conseguenza neanche all'utente.

http://www.sito.com/file.php

Esempio file html "pagina.html"
<html>
<form method="post" action="file.php"> // Con POST i risultati saranno inviati al server
Nome: <input type="text" name="nome">
Cognome: <input type="text" name="cognome">
<input type="submit" name="submit" value="invia">
</form>
</html>
Esempio file php "file.php"
<?php
$variabile = $_POST['testo'];  // Recupero il valore dal server
$variabile2 = $_POST['cognome'];  // Recupero il valore dal server
echo "Hai scritto questo nome: " . $variabile; // Ora stampo a video il risultato
echo "Hai scritto questo cognome: " . $variabile; // Ora stampo a video il risultato
?>
Nota: Settando l'impostazione "register_globals" su "on" sul file "php.ini" sarebbe possibile anche recuperare i dati in maniera più semplice, ovvero utilizzando il nome del campo preceduto dal simbolo del dollaro;

I corrispondenti $HTTP_GET_VARS e $HTTP_POST_VARS appartengono ad una versione precedente di php, anche se ancora utilizzabile è presumibile che vengano presto eliminati.