Metodo POST in PHP

Il metodo POST è uno dei principali metodi del protocollo HTTP utilizzati per inviare dati dal client (browser) al server. In PHP viene usato soprattutto nei form HTML quando è necessario trasmettere informazioni che non devono essere visibili nell’indirizzo della pagina.

A differenza del metodo GET, i dati inviati con POST non vengono aggiunti all’URL, ma vengono trasmessi nel corpo della richiesta HTTP.


Come funziona il metodo POST

Quando un form utilizza il metodo POST, i dati inseriti dall’utente vengono inviati al server senza comparire nella barra degli indirizzi del browser.

La sintassi di un form che utilizza POST è la seguente:

<form action="ricevi.php" method="post">
Nome:
<input type="text" name="nome">

<input type="submit" value="Invia">

</form>

Quando l’utente invia il form, i dati vengono inviati alla pagina ricevi.php, ma non saranno visibili nell’URL.


Recuperare i dati con $_POST in PHP

In PHP i dati inviati con POST vengono recuperati tramite la variabile superglobale $_POST.

Esempio

File ricevi.php

<?php

$nome = $_POST["nome"];

echo "Il nome inserito è: " . $nome;

?>

Se l’utente scrive Paolo nel campo del form, la pagina mostrerà:

Il nome inserito è: Paolo

Form con più campi

Il metodo POST viene spesso utilizzato con form che contengono più campi.

Esempio

<form action="ricevi.php" method="post">

Nome:
<input type="text" name="nome"><br><br>

Cognome:
<input type="text" name="cognome"><br><br>

Età:
<input type="number" name="eta"><br><br>

<input type="submit" value="Invia">

</form>

Pagina PHP

<?php

$nome = $_POST["nome"];
$cognome = $_POST["cognome"];
$eta = $_POST["eta"];

echo "Nome: " . $nome . "<br>";
echo "Cognome: " . $cognome . "<br>";
echo "Età: " . $eta;

?>

Controllare se una variabile esiste

È sempre consigliabile verificare che una variabile sia stata inviata prima di utilizzarla.

Esempio

<?php

if(isset($_POST["nome"])){

    $nome = $_POST["nome"];
    echo "Ciao " . $nome;

}

?>

La funzione isset() controlla se la variabile è stata realmente inviata dal form.


Vantaggi del metodo POST

Il metodo POST presenta diversi vantaggi:


Svantaggi del metodo POST

Il metodo POST ha anche alcune limitazioni:


Differenze tra GET e POST

Metodo Caratteristiche
GET Dati visibili nell’URL
POST Dati inviati nel corpo della richiesta
GET Limite di lunghezza
POST Può inviare molti dati
GET Adatto per ricerche e parametri
POST Adatto per form e dati sensibili

Quando usare il metodo POST

Il metodo POST è consigliato quando:

Esempi comuni:


Conclusione

Il metodo POST è uno strumento fondamentale nello sviluppo web con PHP. Permette di inviare dati al server in modo più sicuro rispetto al metodo GET e viene utilizzato soprattutto nei form HTML.

Per questo motivo, nella maggior parte delle applicazioni web, POST è il metodo più utilizzato per la trasmissione dei dati inseriti dagli utenti.