Visita Orebla.it su Facebook Segui Orebla.it su Twitter Vedi i video su YouTube di Orebla.it Unisciti alle cerchie di Orebla.it
DOVE TI TROVI: \\ Home Page\php\Guida al PHP: Acquisizione di informazioni dal Client

Imparare il PHP: Le basi

autore: Orebla
xx/xx/xx

Acquisizione di informazioni dal Client:

Creando siti web sempre più dinamici e con una programmazione “amichevole” nei confronti dell’utente non possiamo non parlare di come acquisire informazioni dal Client.
Chi ha già usato l’HTML sicuramente non si sarà dimenticato dei form o moduli, bene vi farò vedere come acquisire le informazioni passate dai form e come elaborarle con il PHP. Parleremo dei metodi con cui i form passano le informazioni (GET e POST), poi spiegherò come usare i campi di testo, le caselle di opzione, i campi nascosti, creazione di risultati in base alle opzioni selezionate dall’utente e molte altre cose.

Cap. 4.1.1 I Form (o moduli)
Uno degli argomenti più discussi dell’HTML sono i form, cioè il Markup Language mette a disposizione dei form per acquisire informazioni ma non prevede nel suo codice come elaborarle. Infatti se vogliamo sfruttare i moduli dobbiamo poi prendere i dati con altri linguaggi, come l’ASP, come il JavaScript oppure come il CGI e per finire come il PHP. Se noi utilizzassimo linguaggi non dinamici ci toccherebbe rispondere non in tempo reale alle opzioni definite dall’utente, vedete come ci vengono in aiuto questi linguaggi server side come il PHP.

Analizziamo i passaggi che dobbiamo fare per inviare e ricevere informazioni con i form; per prima cosa noi compiliamo i campi richiesti, che siano campi di testo o pulsanti di opzione; alla fine spingiamo il pulsante Submit e inviamo il nostro modulo compilato.
Ora non ci resta che creare tutto per poter permettere all’utente di fare ciò che prima abbiamo elencato.

Cap. 4.1.2 Usiamo i Form (o moduli)
Bene come primissima cosa dobbiamo inserire nella nostra pagina HTML (o detto html perché i form o moduli possono essere anche inseriti in una pagina di puro markup language, l’importante è che poi inviamo i dati ad una pagina tipo PHP) i moduli.
 
CODICE:
<FORM ACTION= “dati.php”>

</FORM>
Questo codice delimita il modulo, cioè tutto ciò che mettiamo all’interno di questo modulo (campi di testo, pulsanti di opzione..) sarà poi inviato alla pagina indicata nel “campo” ACTION, in questo caso dati.php.
Noi inviamo al motore del PHP i dati che poi dovrà elaborare, quindi il “campo” ACTION non fa altro che indicare al server a che pagina deve inviare i dati, che può essere benissimo la stessa da cui vengono inviati, vedremo poi come fare.
Aggiungiamo ora al nostro modulo il campo METHOD, questo ci permetterà di decidere se inviare i dati con il metodo POST o GET.
 
CODICE:
<FORM ACTION= “dati.php” METHOD=GET>
...
</FORM>
oppure
<FORM ACTION= “dati.php” METHOD=POST>
...
</FORM>
come vedete abbiamo usate i due, più comuni, metodi di invio dati. Dico i più comuni perché ci sono anche altri metodi: HEAD, PUT, LINK, UNLINK, OPTIONS, DELETE, TRACE e CONNECT; però non sono molto usati e non ci serviranno per i nostri lavori.
 
Cap. 4.1.3 GET
Il metodo GET dice al server di aggiungere alla riga dell’URL i dati, li mette in coda dopo un punto interrogativo (?). Questo punto interrogativo “dice” al browser dove finisce l’URL e dove iniziano i dati. Le informazioni vengono inviate sotto la coppia nome/valore. Cioè questa “coppia” mette dietro l’URL il nome e valore, come una variabile, in questo modo:
 
http://www.sito.it/dati.php?nome=valore
questo è un invio semplice cioè di una sola coppia nome/variabile, si può senza problemi mettere in coda più dati basta separarli con il simbolo & (“e” commerciale).
 
http://www.sito.it/dati.php?nome=valore&nome2=valore2
 
Ciò che noi aggiungiamo dopo l’URL è definita stringa di query, prima abbiamo definito questa coppia di nome/valore come una variabile, infatti il PHP ci permette di utilizzare poi all’interno del nostro script il nome di questa coppia come una variabile.
 
Cap. 4.1.4 POST
Ora analizziamo l’altro metodo, il POST. Questo è molto semplice perché non c’è niente da spiegare se noi mettiamo questo nel campo ACTION i nostri dati verranno inviati nell’header del HTTP e non sarà visibile a nessuno ciò che abbiamo immesso nei dati.
 
>Cap. 4.1.5 Meglio GET o POST
Ne abbiamo già discusso comunque tutto il succo stà nel cosa ne dovete fare, perché se i valori che inviate vi servono per identificare un utente cioè nome e password se usate il metodo GET ciò non sarà molto sicuro in quanto i due campi saranno visibili dopo l’URL, meglio quindi usare il POST.
Se però dovete fare delle query in modo che poi ci possiate ritornare vi conviene usare il GET, in quanto l’URL creato lo potete mettere fra i preferiti e poi ripescare. Questo è tutto ciò che dovete sapere se è meglio uno o l’altro, sta a voi decidere.
 
Cap. 4.2 I moduli
Elenco sottocapitoli:
4.2.1 campi di testo
4.2.2 aree di testo
4.2.3 pulsanti di opzione
4.2.4 casella di controllo
4.2.5 pulsanti Submit e Reset
 
>Cap. 4.2.1 Campi testuali (box di testo)
Il più usato dei moduli, il campo di testo, vediamo come inserirlo nel codice HTML:

CODICE
INPUT TYPE=“Text” NAME=“TextBox1”>
Molto facile da inserire all’interno del nostro modulo, la caratteristica più usata è che questo box di testo accetta anche frasi intere. Vediamo di seguito un esempio:
 
CODICE pagina text.htm:
<HTML>
<HEAD>
<TITLE>Prova di un box di testo</TITLE>
</HEAD>
<BODY>
<FORM METHOD= GET ACTION= “text.php”>Inserisci il tuo nome:
<INPUT NAME= “nome” TYPE= “TEXT”><BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>



Salvatela come text.htm
Adesso chiudete il file e create text.php  
CODICE pagina text.php:
<HTML>
<HEAD>
<TITLE>Prova di un box di testo</TITLE>
</HEAD>
<BODY>
<?php
$nome = $HTTP_GET_VARS[‘nome’];echo “Il tuo nome è: ”.$nome;?>
</BODY>
</HTML>
 

Salvate il file come text.php, ora aprite text.htm e completate la text box e premete invio. Vedete che vi verrà visualizzato il nome dopo la frase da noi scelta, Il tuo nome è: Orebla. Questo non è un esempio difficile, sarete poi voi a creare qualcosa di più difficile in base alle vostre necessità, infatti potrete usare la variabile $nome nello script che volete creare. Come avrete sicuramente notato ho usato il metodo GET, l’ho fatto per semplificare l’apprensione del funzionamento dello script, perché così potrete vedere nella barra degli URL il vostro testo.
Utilizzare le text box è facilissimo non ci sono lunghi codici da scrivere e neanche strani attributi da assegnare. C’è però una sola cosa da osservare e su cui stare molto attenti, sono le lettere maiuscole e minuscole, cioè se scrivete Nome invece di nome è diverso!! Quindi se poi tornate a richiamare la variabile con $HTTP_GET_VARS[‘nome’] e noi avevamo prima usato Nome non ci verrà visualizzato niente!! Quindi attenzione perché è CASE SENSITIVE.
 
Cap. 4.2.2 Aree di testo
Prima abbiamo detto che le text box sono le più semplice e più usate però se noi dobbiamo fare scrivere all’utente un testo su più righe non possiamo usarle perché accettano solo una riga singola. Allora ci vengono in aiuto le aree di testo, su cui possiamo specificare quante righe e colonne l’utente può scrivere, ma vediamo il codice.
CODICE
<TEXTAREA NAME= “siti” ROWS=“30” COLS=“50”>
Come vedete il codice è semplice come per le text box, però qui dobbiamo specificare il numero di righe e colonne. Un altro pregio delle TextArea è che possiedono un tag di chiusura </TEXTAREA>, è stato inserito perché all’interno delle nostre aree possiamo inserire già di default un testo, per facilitare così le operazioni da parte dell’utente. Facciamo un esempio.  
CODICE pagina textarea.htm :
<HTML>
<HEAD>
<TITLE>Prova di un Text Area</TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION=“textarea.php”>Quali sono i tuoi siti preferiti?
<TEXTAREA NAME=“sitiweb” COLS=“50” ROWS=“5”>http://
http://
http://
http://
</TEXTAREA>
<BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>

Salvate come textarea.htm.
Ora riaprite l’editor PHP e scrivete questo codice per la pagina textarea.php.  
CODICE pagina textarea.php :
<HTML>
<HEAD>
<TITLE>Prova di un Text Area</TITLE>
</HEAD>
<BODY>
<?php
$sitiweb= $HTTP_POST_VARS[‘sitiweb’];
echo “I tuoi siti preferiti: ”.$sitiweb;?>
</BODY>
</HTML> 

Perfetto come avete visto non c’è niente di più facile…..bé a parte spegnere il computer… Se provate il nostro script finale vi accorgerete di come è utile la text area.








Recensione iPhone 5S!

Recensione iPhone 5!