Esercitazione PHP

PHP HOME Introduzione a PHP Installazione PHP Sintassi PHP Commenti PHP Variabili PHP PHP Eco/Stampa Tipi di dati PHP Stringhe PHP Numeri PHP PHP matematica Costanti PHP Operatori PHP PHP Se...Altro...Altro Passaggio PHP Ciclo PHP Funzioni PHP Array PHP Superglobali PHP RegEx PHP

Moduli PHP

Gestione dei moduli PHP Convalida del modulo PHP Modulo PHP richiesto URL/e-mail del modulo PHP Modulo PHP completo

PHP avanzato

Data e ora PHP PHP Include Gestione dei file PHP Apri/Leggi file PHP Creazione/scrittura di file PHP Caricamento file PHP Cookie PHP Sessioni PHP Filtri PHP Filtri PHP avanzati Funzioni di callback PHP PHP JSON Eccezioni PHP

PHP OOP

PHP Che cos'è OOP Classi/Oggetti PHP Costruttore PHP PHP distruttore Modificatori di accesso PHP Ereditarietà PHP Costanti PHP Classi astratte PHP Interfacce PHP Tratti PHP Metodi statici PHP Proprietà statiche PHP Spazi dei nomi PHP Iterabili PHP

Database MySQL

Database MySQL MySQL Connect MySQL Crea DB MySQL Crea tabella Dati di inserimento MySQL MySQL Ottieni l'ultimo ID MySQL inserisce più MySQL preparato MySQL Seleziona dati MySQL dove MySQL Ordina per MySQL Elimina dati Dati di aggiornamento MySQL Dati limite MySQL

PHP XML

Parser XML PHP Analizzatore PHP SimpleXML PHP SimpleXML - Ottieni PHP XML espatriato PHP XML DOM

PHP - AJAX

Introduzione all'Ajax AJAX PHP Database AJAX XML AJAX Ricerca in tempo reale AJAX Sondaggio AJAX

Esempi PHP

Esempi PHP compilatore PHP Quiz PHP Esercizi PHP Certificato PHP

Riferimento PHP

Panoramica di PHP matrice PHP Calendario PHP Data PHP Directory PHP Errore PHP Eccezione PHP File system PHP Filtro PHP PHP FTP PHP JSON Parole chiave PHP PHP Libxml Posta PHP PHP matematica PHP Varie PHP MySQLi Rete PHP Controllo dell'output PHP RegEx PHP PHP SimpleXML Flusso PHP Stringa PHP Gestione delle variabili PHP Analizzatore XML PHP Zip PHP Fuso orario PHP

Gestione dei moduli PHP


I superglobali PHP $_GET e $_POST vengono utilizzati per raccogliere i dati dei moduli.


PHP - Un semplice modulo HTML

L'esempio seguente mostra un semplice modulo HTML con due campi di input e un pulsante di invio:

Esempio

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Quando l'utente compila il modulo sopra e fa clic sul pulsante di invio, i dati del modulo vengono inviati per l'elaborazione in un file PHP denominato "welcome.php". I dati del modulo vengono inviati con il metodo HTTP POST.

Per visualizzare i dati inviati puoi semplicemente fare eco a tutte le variabili. Il "benvenuto.php" si presenta così:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

L'output potrebbe essere qualcosa del genere:

Welcome John
Your email address is [email protected]

Lo stesso risultato potrebbe essere ottenuto anche utilizzando il metodo HTTP GET:

Esempio

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

e "welcome_get.php" è simile a questo:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Il codice sopra è abbastanza semplice. Tuttavia, la cosa più importante manca. È necessario convalidare i dati del modulo per proteggere lo script da codice dannoso.

Pensa alla SICUREZZA durante l'elaborazione dei moduli PHP!

Questa pagina non contiene alcuna convalida del modulo, mostra solo come inviare e recuperare i dati del modulo.

Tuttavia, le prossime pagine mostreranno come elaborare i moduli PHP tenendo conto della sicurezza! La corretta convalida dei dati del modulo è importante per proteggere il tuo modulo da hacker e spammer!



OTTIENI vs. POST

Sia GET che POST creano un array (ad es. array( key1 => value1, key2 => value2, key3 => value3, ...)). Questa matrice contiene coppie chiave/valore, dove le chiavi sono i nomi dei controlli del modulo e i valori sono i dati di input dell'utente.

Sia GET che POST sono trattati come $_GET e $_POST. Questi sono superglobali, il che significa che sono sempre accessibili, indipendentemente dall'ambito, e puoi accedervi da qualsiasi funzione, classe o file senza dover fare nulla di speciale.

$_GET è un array di variabili passate allo script corrente tramite i parametri URL.

$_POST è un array di variabili passate allo script corrente tramite il metodo HTTP POST.


Quando usare GET?

Le informazioni inviate da un modulo con il metodo GET sono visibili a tutti (tutti i nomi ei valori delle variabili vengono visualizzati nell'URL). GET ha anche limiti alla quantità di informazioni da inviare. Il limite è di circa 2000 caratteri. Tuttavia, poiché le variabili vengono visualizzate nell'URL, è possibile aggiungere la pagina ai preferiti. Questo può essere utile in alcuni casi.

GET può essere utilizzato per l'invio di dati non sensibili.

Nota: GET NON deve MAI essere utilizzato per inviare password o altre informazioni sensibili!


Quando usare POST?

Le informazioni inviate da un modulo con il metodo POST sono invisibili agli altri (tutti i nomi/valori sono incorporati nel corpo della richiesta HTTP) e non hanno limiti alla quantità di informazioni da inviare.

Inoltre POST supporta funzionalità avanzate come il supporto per l'input binario multiparte durante il caricamento di file sul server.

Tuttavia, poiché le variabili non vengono visualizzate nell'URL, non è possibile aggiungere la pagina ai preferiti.

Gli sviluppatori preferiscono POST per l'invio dei dati dei moduli.

Successivamente, vediamo come elaborare i moduli PHP in modo sicuro!


Esercizi PHP

Mettiti alla prova con gli esercizi

Esercizio:

Se il modulo nella sezione bianca sottostante viene inviato, come puoi, in welcome.php, emettere il valore dal campo "nome"?

<form action="welcome.php" method="get"> First name: <input type="text" name="fname"> </form>
<html> <body> Welcome <?php echo ; ?> </body> </html>