• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Lezione #11 | GET & POST, diamo vita ai form

Kaito

Utente Strepitoso
Autore del topic
16 Febbraio 2011
4.511
47
Miglior risposta
0
Molto spesso ci ritroviamo in un sito, forum o blog che presenta una registrazione, un login o comunque un form generico, anche per inserire un commento. Per chi non lo sapesse, la procedura per realizzarla è molto semplice, si utilizzano infatti PHP e HTML combinati insieme, form HTML e dati ricevuti dal PHP.

Passiamo subito ad un esempio pratico con spiegazione dei codici. Mettiamo caso di voler creare una pagina che riceva dei dati da un form, ad esempio nome, cognome ed email.

Pagina form.html:
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

Pagina ricevi.php:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Il primo tag che incontreremo è form, nel quale dovremo specificare due valori: action e method. Il primo, ci permetterà di specificare quale pagina riceverà i dati, ovviamente è possibile anche scegliere la pagina corrente, ovvero quella del form, ma è una cosa che vedremo più avanti, mentre il secondo ci permetterà di specificre il modo in cui verranno inviati, scegliendo tra POST e GET.

Qual è la differenza sostanziale tra i due? Il primo, ci permetterà di inviare dati al server in modo "nascosto", non modificabili dall' esterno se non con appositi plugin (ma con un minimo di logica è possibile forzare un valore), mentre il secondo passerà i valori da URL. Per farvi capire meglio quest' ultimo, avete mai notato in un thread ad esempio: showthread.php?id=54 ? id=54 è passato tramite GET, in questo caso il nome sarà id e 54 il suo valore. Il suo utilizzo è solitamente collegato alle pagine dinamiche.

Ora non stiamo a spiegare i form, dato che riguarda l' HTML, ma vi lascio
Perfavore, Entra oppure Registrati per vedere i Link!
per leggerli con calma.

Passando al lato PHP, possiamo notare che in $nome, $cognome ed $email recuperiamo i valori. Ma cosa sono quelle funzioni htmlspecialchars e addslashes? Tali funzioni servono a prevenire eventuali XSS e SQL Injection, nel caso in cui vengano inseriti in un database, ma la vera funzione per recuperare i valori è $_POST['nome input']. Ovviamente per il GET è lo stesso discorso, cambiando solamente $_POST in $_GET.

Nel caso di GET, sarebbe possibile ottenere lo stesso risultato andando su ricevi.php?nome=MIONOME&cognome=MIOCOGNOME&email=MIAEMAIL
 
Scusa ma qua

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

hai mancato le parentesi tonde.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

qua invece no!?!?!?!?
@Kaito

Se noti bene l'ultima parentesi tonda chiusa serve a chiudere i parametri da passare al ciclo if, evidenzio il codice con i colori per farti capire meglio:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

|| invece è un operatore logico e sta per O, quindi "traducendo" il codice è:
SE $nome O $cognome O $email sono vuoti esegui X, altrimenti Y.