Php - introduzione, metodi get e post (teoria)

Introduzione PHP:
PHP è un prodotto open source e gratuito, comprensibile dalla maggior parte delle macchine host.
Proprio per questi motivi assume sempre più una larga diffusione e tende a soppiantare il classico e
statico HTML.
Il linguaggio PHP è un linguaggio che deposita file sul server che quando verranno richiamati
generano pagine in codice HTML (ma anche XHTML, JavaScript, CSS ecc..) che verranno
caricate sul browser dell'utente.
PHP è un linguaggio di programmazione che permette di creare pagine dinamiche, tramite l'aiuto
di database esterni o il passaggio dati fra le stesse pagine. Importante è il coinvolgimento dei
database (MySql, PostgreSql, Sql Server, Oracle, SyBase, Access e altri) dove possiamo stipare dati
da richiamare quando vogliamo.
I database non sono altro che grossi contenitori dove possiamo inserire i dati organizzati in tabelle.
La loro manipolazione è effettuata tramite le query, ossia collegamenti che riescono direttamente
ad inserire, cancellare o semplicemente accedere al database.
Php in locale:
Il linguaggio PHP è stato sviluppato per girare sul server. Il server analizza le pagine, le elabora
secondo l'indicazione degli script che vi trova scritto e le invia verso il browser utente sotto forma
di linguaggio comprensibile (HTML, JAVASCRIPT ecc..).
Da quello appena detto possiamo già intuire che il linguaggio PHP non è comprensibile
direttamente dal browser. Questo non genera nessun problema all'utilizzatore finale, ma ne crea
alcuni al programmatore che vuole provare le pagine...
Per testare le pagine in PHP sul proprio pc è opportuno installare tre componenti:



I codici sorgenti del programma PHP.
Un webserver (apache, easyphp o altro) che consenta la gestione di tutte le connessioni e la
generazione di codice comprensibile dai browser.
Un database (MySql o altro) per provare gli script più sofisticati.
PASSAGGIO DI DATI FRA PAGINE : METODI GET E POST
Il linguaggio PHP consente la creazione di siti dinamici, ossia la possibilità di poter variare il
contenuto di una pagina secondo le esigenze del navigatore o del webmaster.
Il metodo per manipolare tali pagine viene estratto dalle variabili che da una pagina vengono
trasmesse all'altra.
Con queste variabili è possibile trasmettere qualunque cosa, un numero, una scritta, ma anche foto o
file se agiamo sui form.
Esistono diversi metodi per il passaggio dei dati fra le pagine, il php mette a disposizione le
sessioni, i cookie, il metodo get e post.
1
I cookie e le sessioni sono spesso utilizzati per gestire le informazioni del navigatore e le statistiche,
ed hanno il grande difetto di non poter essere sfruttate se le impostazioni di navigazione del browser
non consentono di scaricare i cookie nella memoria temporanea (salvo inserire scorciatoie
particolari).
I metodi GET e POST sono sempre disponibili, e pertanto sono da privilegiare quando possibile.
Get e Post non sono altro che metodi con cui possiamo far spedire i dati dall'utente al server, e sono
fondamentali per conferire al sito un aspetto dinamico e funzionale.
Metodo GET
Il metodo get prevede che i nomi ed i valori da associare siano posti direttamente sulla barra di
navigazione, nell'indirizzo URL della pagina richiamata.
Tale procedura consente al navigatore e a chi può accedere al pc, di leggere il nome della variabile
ed il suo valore, pertanto se i dati contengono informazioni personali necessiteranno di un'eventuale
criptazione.
La sintassi è la seguente:
<a href="nome_pagina.php?nome_variabile=valore>
Come vediamo dall'esempio è semplicissimo, basta ricordarsi del punto interrogativo e non
sbagliare il nome o il valore della variabile.
Se vogliamo inserire più nomi e valori, dobbiamo solo inserire il carattere & (e commerciale, che
significa AND) fra le coppie di parametri.
Esempio:
<a href="nome_pagina.php?nome=valore&nome2=valore2&nome3=valore3....>
Dopo aver inserito questa riga (che per convenzione si chiama query string) abbiamo a disposizione
un array globale di nome $_GET che contiene tutti i parametri che abbiamo inserito nella query
string ed è visibile nell'URL della nuova pagina.
Esempio dell'array:
$_GET= array('nome'=>'valore', 'nome2'=>'valore2', 'nome3'=>'valore3');
2
Da adesso (se considero l'esempio precedente) abbiamo a disposizione tutte le variabili che contiene
l'array:
$_GET['nome']; //che equivale a 'valore'
$_GET['nome2']; //che equivale a 'valore2'
$_GET['nome3']; //che equivale a 'valore3'
Metodo POST
Il metodo post si usa con i <form> e crea un array globale che si chiama $_POST.
L'array generato conterrà delle chiavi che portano il nome (name="") delle caselle del form ed i
valori saranno quelli che l'utente avrà inserito o cliccato (inseriti dal webmaster per i campi hidden).
Il metodo POST si differenzia dal metodo GET perché non è visibile nella barra degli indirizzi
(anche se le variabili sono rintracciabili nel codice della pagina web), e perché con il metodo POST
possiamo spedire non soltanto semplici variabili ma anche file, immagini ed altro materiale più
consistente.
Esempio:
<form action="prova.php" method="post">
<input type="text" name="nome1">
<input type="checkbox" name="nome2" value="si">
<input type="submit" name="submit" value="invia">
</form>
Da adesso abbiamo a disposizione l'array $_POST:
$_POST = array('nome1'=>'simone', 'nome2'=>'si');
Nell'esempio se la casella "checkbox" non viene cliccata la variabile non sarà definita.
Per essere brevi con il metodo post si crea tante variabili quanti sono i dati inseriti nel form. Il nome
della variabile è uguale al nome attribuito al form (name), ed il valore è lo stesso del form (value).
Ricavare i dati:
Dopo aver spedito il form ed aver creato l'array globale $_POST è sufficiente ricavare le variabili
risalendo al nome della variabile contenuto nell'array.
Per essere più precisi basta scrivere una riga del tipo:
$tuavariabile=$_POST['tuavariabile'];
3