Usare le variabili $_GET e $_POST in PHP

Elaborare i dati inseriti dagli utenti attraverso i form è una delle particolarità più sfruttate in PHP

Le variabili $_GET e $_POST funzionano grazie ai metodi GET e POST, e permettono in base al loro valore di generare pagine in maniera dinamica.

Per rendere subito chiara l’idea facciamo subito degli esempi pratici

$_POST

Andiamo a scrirere la pagina test.html (potrebbe essere scritta anche in php)

<form action="elabora.php" method="post">
    <input type="text" name="messaggio">
    <input type="submit" value="invia">
</form>

dopodiché scriviamo la pagina di destinazione elabora.php, che conterrà la lettura della variabile messaggio e la sua stampa

<?php

$testo = $_POST['messaggio'];
echo $testo;

?>

il risultato ottenuto sarà il seguente

la pagina test.html conterrà il form dove andremo a scrivere il messaggio da trasmettere alla seconda pagina, e il pulsante submit per avviare l’azione. Quando cliccheremo il pulsante invia verrà aperta la pagina identificata in action, cioé elabora.php, che con il comando $_POST[‘messaggio’] (notasi il nome correlato al name dell’input text della pagina test.html), andrà a memorizzare nella variabile $testo il sul valore, che sarà stampato con echo.

La particolarità del metodo POST è che il messaggio da trasmettere è completamente invisibile all’utente a livello di codice, difatti l’url finale www.selectallfromdual.com/elabora.php è pulito. In questo modo potremmo trasmettere alla pagina di destinazione qualunque valore senza che l’utente ne abbia visione.

$_GET

Dopo aver capito come funziona il metodo POST, adesso vedremo il metodo GET e come possiamo utilizzarlo per rendere le nostre pagine dinamiche anche senza form.

Andiamo a riproporre l’esempio di prima, ma utilizzando il GET

Scriviamo quindi la pagina test.html

<form action="elabora.php" method="get">
    <input type="text" name="messaggio">
    <input type="submit" value="invia">
</form>

e la pagina elabora.php

<?php

$testo = $_GET['messaggio'];
echo $testo;

?>

il codice andrà a generare questa situazione

noteremo subito un cambiamento nella pagina di destinazione, che visualizzerà in chiaro, nell’url, il contenuto dell’input messaggio. L’utente avrà quindi la possibilità di conoscere tutti gli input che sono serviti alla pagina elabora.php.

Si considera che la pagina finale non dipende strettamente da un form, come nel caso del metodo POST, ma possiamo costruire dinamicamente l’url finale che l’utente andrà ad aprire, come in questo modo

<?php

$link = "http://www.selectallfromdual.com/elabora.php";
$messaggio = "visita selectallfromdual.com";
$url = $link."?messaggio=".$messaggio;

?>

<a href="<?php echo $url; ?>">Clicca qui</a>

che andrà a generare il link che avrà come destinazione la stessa pagina di cui prima, con lo stesso risultato.

Ciò significa che è vero che usando il metodo GET rendiamo visibili tutti gli input della pagina, ma è anche vero che possiamo costruire pagine dinamiche senza l’utilizzo di form.

precedente | indice | successiva

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *