/
Moduli

Moduli, elaborazione di moduli in PHP

22. 08. 2019

Obsah článku

Supponiamo di aver creato un modulo HTML, che inviamo e ora vogliamo elaborare i dati. C'è un articolo separato sulla creazione di un modulo HTML.

Ricevere dati - modi diversi

Il modo in cui il modulo viene inviato è impostato direttamente nell'HTML

Ci sono 2 opzioni:

  • GET - È visibile nella barra degli indirizzi dopo il punto interrogativo Per esempio: php.baraja.cz/search.php?query=formulare.
  • POST - Nascosto (non visibile), la maggior parte dei moduli sono inviati per posta

Dobbiamo poi leggerli in PHP usando lo stesso metodo.

Ottenere i dati dall'utente e trasferirli allo script

La base è un modulo HTML, come farlo si può leggere in un articolo separato.

Per cominciare, supponiamo un semplice modulo per inserire il nome dell'utente:

<form action="welcome.php" method="GET">
Zadejte jméno: <input type="text" name="username">
<input type="submit" value="odeslat">
</form>

Apparirà una casella di testo per inserire un nome e cliccare per inviare. Quando il pulsante viene cliccato, il contenuto del campo viene inviato allo script welcome.php.

Ora per l'elaborazione effettiva nel file welcome.php:

$username = $_GET['nome utente'];
echo 'Il nome inserito è:' . $username;

Notate la variabile speciale $_GET. Questa è una variabile sovraglobale che contiene i dati del modulo e a cui si può accedere come un array.

Il problema con questa soluzione, tuttavia, è che i dati ricevuti non sono sicuri e un modulo simile può essere facilmente attaccato. Per esempio, un potenziale attaccante può inserire del codice javascript nel campo invece di un nome, che sarà scritto nella pagina ed eseguito.

Pertanto, dobbiamo sempre sanitizzare tutti i dati dell'utente prima di emetterli nel codice HTML:

$username = $_GET['nome utente'] ?? 'Sconosciuto';
echo 'Il nome inserito è:' . htmlspecialchars($username);

Ulteriore elaborazione

Possiamo fare qualsiasi cosa con i dati ricevuti e trattarli come qualsiasi variabile ordinaria.

Per esempio, aggiungete il valore in due campi:

echo $_GET['x'] + $_GET['y'];

O salvare in un file, database, e-mail, ...

Le seguenti funzioni sono utili per questo:

  • file_put_contents - funzione per salvare i dati in un file
  • MD5 - calcolo del checksum, per esempio per le password
  • Cookies - salva i dati nei cookies (piccoli file all'interno del browser web)

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.