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