La variabile superglobale $_GET in PHP serve per ricevere dati inviati tramite URL (Query String). Viene utilizzata quando un form o un link invia parametri con il metodo GET.
1️⃣ Cos'è $_GET
$_GET è un array associativo che contiene le coppie chiave → valore presenti nell'URL dopo il punto interrogativo ?.
È uno dei metodi più semplici per passare informazioni da una pagina all'altra.
2️⃣ Esempio base con link
Quando clicchi su un link come questo:
<a href="pagina.php?nome=Mario&cognome=Rossi">Clicca qui</a>
Il browser apre l'URL:
pagina.php?nome=Mario&cognome=Rossi
Nel file pagina.php, PHP può leggere i valori così:
<?php
// Lettura dei dati inviati tramite URL
$nome = $_GET["nome"] ?? "";
$cognome = $_GET["cognome"] ?? "";
// Stampa del risultato
echo "Ciao $nome $cognome!";
?>
3️⃣ Esempio con Form HTML (method="get")
<form action="processa_get.php" method="get">
<label>Nome:</label>
<input type="text" name="nome">
<label>Età:</label>
<input type="number" name="eta">
<input type="submit" value="Invia">
</form>
<?php
// processa_get.php
$nome = $_GET["nome"] ?? "";
$eta = $_GET["eta"] ?? "";
// Output
echo "Ciao $nome, hai $eta anni.";
?>
4️⃣ Pulizia dei dati ricevuti
I dati possono essere manipolati direttamente nell'URL, quindi è sempre buona norma "ripulirli" con htmlspecialchars() per evitare codice malevolo.
<?php
$nome = htmlspecialchars($_GET["nome"] ?? "");
$eta = (int) ($_GET["eta"] ?? 0);
echo "Ciao $nome, hai $eta anni.";
?>
5️⃣ Esempio pratico: pagine dinamiche
Puoi usare $_GET per cambiare il contenuto di una pagina in base a un parametro.
<?php
$pagina = $_GET["pagina"] ?? "home";
if ($pagina == "home") {
echo "<h2>Benvenuto nella home page</h2>";
} elseif ($pagina == "contatti") {
echo "<h2>Pagina contatti</h2>";
} elseif ($pagina == "servizi") {
echo "<h2>I nostri servizi</h2>";
} else {
echo "<h2>Pagina non trovata</h2>";
}
?>
6️⃣ Laboratorio: leggere i dati da $_GET
Passaggi:
- Crea un file get_form.php con questo contenuto:
- Crea il file ricevi_get.php:
- Apri get_form.php nel browser e invia i dati.
- Osserva i valori nell’URL e nella risposta PHP.
<form action="ricevi_get.php" method="get">
Nome: <input type="text" name="nome"><br>
Città: <input type="text" name="citta"><br>
<input type="submit" value="Invia">
</form>
<?php
$nome = htmlspecialchars($_GET["nome"] ?? "");
$citta = htmlspecialchars($_GET["citta"] ?? "");
if ($nome && $citta) {
echo "Ciao $nome, vivi a $citta.";
} else {
echo "Compila tutti i campi!";
}
?>
💡 Prova anche a modificare manualmente l’URL (es. ?nome=Anna&citta=Roma) per vedere il comportamento.