PHP

Metodo GET

Spiegazione della variabile superglobale $_GET in PHP con esempi pratici

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:

  1. Crea un file get_form.php con questo contenuto:
  2. 
    <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>
    
  3. Crea il file ricevi_get.php:
  4. 
    <?php
    $nome = htmlspecialchars($_GET["nome"] ?? "");
    $citta = htmlspecialchars($_GET["citta"] ?? "");

    if ($nome && $citta) {
    echo "Ciao $nome, vivi a $citta.";
    } else {
    echo "Compila tutti i campi!";
    }
    ?>
  5. Apri get_form.php nel browser e invia i dati.
  6. Osserva i valori nell’URL e nella risposta PHP.

💡 Prova anche a modificare manualmente l’URL (es. ?nome=Anna&citta=Roma) per vedere il comportamento.