PHP Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.4 del 15/01/2014

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PHP Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.4 del 15/01/2014"

Transcript

1 PHP Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.4 del 15/01/2014 1/57

2 Copyright 2014 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 2/57

3 Indice generale INTRODUZIONE...5 Le differenze tra HTML, Javascript, CSS e PHP...6 IL LINGUAGGIO...7 I concetti base...7 Iniziando con il comando echo...9 Il blocco condizionale if...else...10 Il blocco condizionale switch...11 Il blocco ciclico for...12 Il blocco ciclico while...12 Gli array...13 Il blocco ciclico foreach...16 Le variabili di ambiente server $_SERVER...17 Lavorare con le date...17 Lavorare con le stringhe...19 Lavorare con file/cartelle...22 Le funzioni...24 Includere altri file...26 TRASPORTARE VARIABILI CON GET E POST...28 Il metodo GET...28 Il metodo POST...30 Vediamo un esempio pratico...31 INTERAGIRE CON MYSQL...33 La connessione...33 Le query select...34 Le manipolazioni insert, update e delete...35 Esempio completo...36 LE SESSIONI...41 I comandi principali...41 Le sessioni con i cookie...42 Le sessioni senza cookie (SID)...43 Soluzione ideale...44 L'UPLOAD DEI FILE...45 Form principale...45 Raccolta file in upload...46 PHP e XML...47 Validare contenuti XML...47 SimpleXML...48 OOP...49 Creare l'oggetto...49 Prefisso $this->...50 L'istanza dell'oggetto...50 Le costanti...51 I costruttori...51 Proprietà e metodi pubblici, protetti e privati...52 I metodi speciali...52 L'eredità tra classi /57

4 Le classi astratte...56 Le interfacce...56 Funzioni PHP per le classi /57

5 INTRODUZIONE L'unico linguaggio che i browser riescono ad interpretare è l'html, o derivati di esso. L'HTML ha però lo svantaggio che bisogna sapere in anticipo quello che vogliamo visualizzare mediante l'apposita pagina web. Prendiamo un semplice esempio: Vogliamo creare un sito di commercio elettronico che visualizza un elenco degli articoli che proponiamo e per ogni articolo vogliamo poter visualizzare una scheda tecnica con le proprietà dello specifico articolo in dettaglio. Per realizzare una cosa simile utilizzando il linguaggio HTML dobbiamo creare una pagina che contiene l'elenco degli articoli e una singola pagina per ogni articolo che vogliamo visualizzare come scheda tecnica dettagliata. Per proporre sul nostro sito 50 articoli dobbiamo creare 51 pagine statiche in HTML. Notiamo l'esponenziale crescita della complessità in base al numero degli articoli da visualizzare, per non parlare dell'ammontare di lavoro ad ogni nuovo articolo da aggiungere, da togliere o da modificare. Sarebbe interessante poter utilizzare solo due pagine web (una per la visualizzazione dell'elenco, l'altra per la visualizzazione della scheda dettagliata ) in grado di cambiare il proprio contenuto in base a valori magari estratti direttamente da una banca dati. L'elenco potrebbe cambiare in base all'attuale stato della banca dati, mentre la scheda tecnica potrebbe essere compilata ogni volta con i dati dell'articolo desiderato. Bene, quello di cui abbiamo bisogno è PHP. Il linguaggio PHP è un linguaggio detto dinamico perchè permette, appunto, di creare delle pagine web che si aggiornano dinamicamente in base a determinate situazioni. 5/57

6 Le differenze tra HTML, Javascript, CSS e PHP Il nostro browser è in grado di interpretare il linguaggio HTML che può essere ampliato con linguaggi come Javascript, oppure direttive di stile come CSS, ma non è in grado di interpretare il linguaggio PHP. PHP viene infatti direttamente interpretato dal webserver che ne invia il risultato come pagina HTML al Browser stesso. Se il webserver riceve la richiesta riguardante una pagina web con estensione.html ne invia direttamente il contenuto al browser richiedente. Se però la richiesta riguarda una pagina web con estensione.php (l'esensione di default per pagine web con all'interno blocchi PHP) la pagina non viene direttamente inviata, ma sottoposta prima all'accurata attenzione dell'interprete PHP che deve essere installato sul webserver stesso. L'interprete PHP interpreta, appunto, il contenuto del file sostituendo tutti i blocchi PHP con il relativo risultato ottenendo così un unico file HTML. Questo viene poi inviato direttamente al browser, in grado ora di leggerne il contenuto e di creare la struttura desiderata. 6/57

7 IL LINGUAGGIO Iniziamo a vedere i concetti base del linguaggio PHP per poi proseguire con una serie di approfondimenti. I concetti base I blocchi PHP. Come precedentemente accennato il linguaggio PHP viene incapsulato direttamente all'interno di una struttura HTML. Abbiamo quindi bisogno di un codice che permetta all'interprete di riconoscere l'inizio e la fine di un blocco PHP. Il codice iniziale e finale che utilizziamo è il seguente:... Ne esiste anche una forma più breve, ossia: <?... ma si consiglia di utilizzare quella classica perché la forma breve potrebbe non essere più supportata in versione più recenti. Il linguaggio PHP è case sensitive (maiuscole e minuscole vengono interpretate diversamente) per quanto riguarda le variabili definite, mentre per il resto case insensitive. Il punto e virgola. Ogni riga di comando deve essere terminata con il punto e virgola (;). L'invio all'interno del file PHP non, infatti, rilevanza. Comandi possono, nel 7/57

8 maggiore dei casi, proseguire anche su più righe. Per questo motivo dobbiamo avere la possibilità di segnalare all'interprete quando la nostra riga di comando è giunta al termine. I commenti. Ogni codice che si rispetti contiene varie righe di commento. I commenti sono importanti per far capire ad eventuali altri programmatori cosa stiamo facendo, ma sono altrettanto importanti perché ci danno la possibilità di capire al volo il comportamento di un nostro codice a lunga distanza di tempo. All'interno del blocco PHP possiamo aggiungere come commento una singola riga usando il doppio slash come segue: //riga di commento oppure possiamo racchiudere diverse righe di commento utilizzando il /* prima e il */ dopo al blocco di commento: /* Questa è la prima riga di commento. Questa è la seconda riga di commento. */ Le variabili. Le variabili sono parte fondamentale di ogni linguaggio di programmazione. Le variabili danno, infatti, la possibilità di memorizzare temporaneamente dei valori (numerici, di testo o come oggetti) in maniera tale da poter essere richiamati o manipolati in un qualsiasi momento. Tutte le variabili iniziano con il simbolo del dollaro ($) e utilizziamo il simbolo dell'uguale per assegnarle un valore. $NOME = Ivan ; $ETA = 35; $VAL1 = 10; $VAL2 = 2; $RISULTATO = $VAL1 + $VAL2; Nell'assegnazione di un valore utilizziamo le virgolette ( ) per assegnare valori testuali e le lasciamo via se vogliamo assegnare valori numerici. Vediamo ora un piccolo esempio per comprendere al meglio quanto spiegato: $NOME = Ivan Ferrazzi ; <html> <head></head> <body> Io mi chiamo echo $NOME;. </body> </html> 8/57

9 che darà come risultato Io mi chiamo Ivan Ferrazzi. Iniziando con il comando echo Il comando echo è uno dei comandi più utilizzati nonostante la sua semplicità. Questo comando, infatti, non deve fare altro che restituire un testo datogli tra virgolette ( ) oppure apici (') come risultato. Detto così sembra una cosa molto banale ma in effetti non lo è. Infatti, è proprio l'utilizzo delle virgolette o degli apici che ne modificano il comportamento. Un testo inserito tra virgolette viene prima interpretato prima di essere stampato su schermo, mentre un testo tra apici viene mandato sullo schermo esattamente come scritto. Le virgolette le utilizziamo quando al suo interno vogliamo utilizzare delle variabili oppure quando dobbiamo utilizzare dei caratteri speciali che iniziano con il back space (\). Vediamo un esempio: $NOME = Ivan Ferrazzi ; <html> <head></head> <body> echo Io mi chiamo $NOME.<br /> ; echo 'Io mi chiamo $NOME.<br />'; </body> </html> Nel browser vediamo apparire le seguenti righe: Io mi chiamo Ivan Ferrazzi. Io mi chiamo $NOME. Notiamo quindi la mancata interpretazioni con l'utilizzo degli apici (seconda riga visualizzata). L'utilizzo dei caratteri speciali diventa indispensabile quando delle virgolette utilizzate all'interno della stringa stessa potrebbero andare in conflitto con le virgolette che identificano l'inizio e la fine della stringa stessa. Il seguente esempio causerebbe un errore echo <font face= Verdana >ciao</font> ; e andrebbe modificato come segue: 9/57

10 echo <font face=\ Verdana\ >ciao</font> ; All'interno del comando echo possiamo utilizzare la virgola (,) o il punto (.) per concatenare delle parti di stringa. La riga echo Ciao. come. stai! ; da lo stesso risultato di echo Ciao come stai! ; Questa forma può essere utilizzate anche per concatenare delle stringhe a delle variabili come segue echo Questo è il valore:. $VALORE. <br /> ; Il blocco condizionale if...else Il blocco if semplice permette di elaborare le istruzioni presenti nel blocco stesso se la condizione fornita restituisce un esito vero. Nella condizione possiamo paragonare dei valori con gli operatori == (uguale ),!= (diverso), > (maggiore di), < (minore di), >= (maggiore o uguale) oppure <= (minore o uguale). $NOME = Ivan ; if($nome == Ivan ) { echo Ciao Ivan ; Questo semplice esempio verifica il contenuto della variabile $NOME (notiamo l'utilizzo delle virgolette nell'uso di valori testuali) e stampa poi Ciao Ivan su schermo, dato l'esito vero della condizione fornita. Possiamo estendere il blocco delle condizioni concatenando più condizioni fra loro utilizzando && (come e logico) oppure (come o logico). Due condizioni concatenate con && restituiscono un valore insieme vero solo se tutte e due le condizioni restituiscono un valore vero. Due condizioni concatenate con restituiscono un valore insieme vero se almeno una (o tutte e due) delle condizioni restituisce un valore vero. $UID = pippo ; $PWD = ; if(($uid == pippo ) && ($PWD == )) { echo Buon giorno pippo. ; Le singole condizioni vengono a loro volta incapsulate all'interno di parentesi tonde es. ($UID == pippo ). 10/57

11 In alcuni casi può essere interessante far elaborare un blocco di istruzioni a condizione rispettata oppure un'altro blocco di istruzioni nel caso contrario. In questo caso utilizziamo il comando in forma estesa if...else. if($valore < 10) { echo Il valore è minore di 10. ; else{ echo Il valore è uguale o maggiore di 10. ; Il blocco condizionale switch Nel blocco if...else descritto precedentemente è possibile far eseguire una serie di istruzioni a condizione con esito vero, oppure un'altra serie di istruzioni in caso contrario. In alcuni casi, però, diventa indispensabile poter scegliere tra più criteri di paragone diversi. In questi casi possiamo utilizzare il blocco switch che permette di paragonare una variabile con più valori diversi e comportarsi di conseguenza. Vediamo un semplice esempio: $VALORE = 12; switch($valore) { case 11: echo Il valore è 11. ; break; case 12: echo Il valore è 12. ; break; case 13: echo Il valore è 13. ; break; In questo esempio forniamo a switch la variabile $VALORE che viene paragonata con i vari valori definiti dopo ai vari case. Nel caso di case 12 l'interprete riconosce una corrispondenza ed inizia ad eseguire la sequenza di istruzioni definite all'interno di questo blocco case fino a quando incontra l'istruzione break che obbliga l'interprete ad uscire dal blocco switch per proseguire con il resto del programma. Nel caso di valori testuali possiamo scrivere $NOME = pippo ; switch($nome) { case pluto : echo Il tuo nome è pluto. ; break; case paperino : echo Il tuo nome è paperino. ; break; case pippo : echo Il tuo nome è pippo. ; break; Notiamo l'utilizzo delle virgolette per definire valori testuali. 11/57

12 Il blocco ciclico for Il for viene utilizzato per definire delle ripetizioni cicliche. Vediamo subito un semplice esempio: for($i = 0; $i < 5; $i++) { echo ciclo $i<br /> ; Il risultato sarà: ciclo 0 ciclo 1 ciclo 2 ciclo 3 ciclo 4 Quando l'interprete incontra un blocco for utilizza il primo parametro fornito, ossia $i = 0, per definire la variabile da utilizzare come controllo e per assegnarle subito il valore iniziale. Poi controlla il valore logico restituito dalla condizione del secondo parametro. Se restituisce un esito vero il blocco for viene eseguito altrimenti continua ad interpretare le istruzioni inserite dopo il blocco for. Dopo aver eseguito le istruzioni del for l'interprete utilizza il terzo parametro, nel nostro caso $i++, per incrementare il valore della variabile $i di uno. Poi ricontrolla la condizione ed esegue il blocco for in caso di risultato vero. L'interprete elaborare il blocco for fino a quando la condizione non restituisce un esito falso. La variabile definita all'interno del for può essere utilizzata anche all'interno dello stesso blocco di istruzioni. Il blocco ciclico while Il blocco ciclico while elabora le istruzioni presenti all'interno del blocco stesso fino a quando la condizione rimane vera. La struttura base è la seguente: while(condizione) { istruzioni... Vediamo il seguente esempio pratico: $i = 0; while($i < 5) { echo riga $i<br /> ; $i++; 12/57

13 Il risultato di questo comando sarà riga 0 riga 1 riga 2 riga 3 riga 4 Anche qui la condizione può essere composta da più condizioni unita da un e oppure o logico (vedi if). Gli array Gli array sono una forma particolare di variabile. Le variabili che abbiamo visto fino ad ora possono contenere solamente un unico valore. Questa limitazione potrebbe rendere impossibile l'utilizzo di variabili normali in casi specifici. Poniamo il seguente problema: Vogliamo dare all'utente la possibilità di memorizzare un numero indeterminato di valori. Non sapendo quanti valori l'utente andrà a registrare dobbiamo creare anticipatamente un numero abbastanza alto di variabili. Possiamo, ad esempio, utilizzare le variabili che vanno da $VALORE1 a $VALORE100. Se però l'utente ne volesse inserire 200 di valori. Il dover registrare una variabile prima del suo utilizzo può quindi essere, in alcuni casi, un problema. Vediamo di capire al meglio la differenza tra una variabile normale e gli array prendendo un esempio dal mondo reale. La variabile la possiamo vedere come il cassetto di un armadio. Sul cassetto ci incolliamo il nome (quindi il nome della variabile), mentre al suo interno ci mettiamo un oggetto (il valore della variabile). Mediante nome del cassetto identifichiamo il contenuto che vogliamo vedere. Immaginatevi di avere a disposizione un armadio con un numero imprecisato di cassetti. Ora non mettiamo il nome direttamente su un cassetto, ma poniamo il nome direttamente sull'intero armadio. Nel momento in cui abbiamo bisogno di uno spazio prendiamo il primo cassetto vuoto ci scriviamo sopra uno zero (0) e ci inseriamo l'oggetto desiderato. L'eventuale secondo cassetto lo etichettiamo con uno (1), il terzo con due (2), ecc. Per richiamare il contenuto di un cassetto bisogna quindi utilizzare il nome dell'intero armadio in combinazione con il numero del cassetto da aprire. Un array in PHP viene definito come segue: $ARMADIO = array(); In questo caso diciamo all'interprete che abbiamo bisogno di uno spazio ancora non definito. Nel momento in cui serve possiamo inserire un valore all'interno dei singoli cassetti. $ARMADIO[0] = Pippo ; 13/57

14 $ARMADIO[1] = Pluto ; $ARMADIO[2] = Paperino ; Per richiamare il contenuto di un cassetto possiamo scrivere: echo $ARMADIO[2]; che restituirà come risultato: Paperino Una funzione di PHP (vedremo più avanti come creare delle proprie funzioni) utilizzata con gli array è count(array). Questa funzione restituisce il numero degli elementi inseriti nell'array fornito come parametro. Il risultato di count($armadio) nel nostro caso sarebbe 3, quindi tre elementi inseriti. Vediamo ora un esempio pratico: <html> <head> </head> <body> $ARMADIO = array(); $ARMADIO[0] = Pippo ; $ARMADIO[1] = Pluto ; $ARMADIO[2] = Paperino ; for($i = 0; $i < count($armadio); $i++) { echo $ARMADIO[$i]. <br /> ; </body> </html> Il risultato è il seguente: Pippo Pluto Paperino Notiamo nell'esempio l'utilizzo di una variabile come indice dell'array ($ARMADIO[$i]). In alcuni casi può essere comodo non dover assegnare l'indice identificativo dell'array nel momento in cui si assegnano i vari elementi. Per questo motivo PHP ci mette a disposizione ulteriori metodi per settare il contenuto di un array. Uno è il seguente: $ARMADIO = array(); $ARMADIO[] = pippo ; //indice 0 $ARMADIO[] = pluto ; //indice 1 $ARMADIO[] = paperino ; //indice 2 14/57

15 Come notiamo in questo esempio non assegnamo gli indici quando settiamo il contenuto dei singoli elementi, ma utilizziamo le parentesi quadre vuote ([]). In questo caso si occuperà PHP dell'assegnazione degli indici partendo dal numero zero (0) ed incrementando di volta in volta. Possiamo però definire un array, con i suoi elementi, in una volta sola come segue: $ARMADIO = array( pippo, pluto, paperino ); Anche in questo caso sarà PHP ad assegnare gli indici partendo dal numero zero (0). pippo avrà l'indice 0, pluto l'indice 1 e paperino l'indice 2. Fino ad ora abbiamo visto l'utilizzo di indici numerici per l'identificazione di elementi all'interno dell'array. PHP ci mette a disposizione anche l'utilizzo di etichette per rendere l'identificazione di determinati elementi più semplice ed intuitivo. Vediamo il seguente esempio: $NOMI = array(); $NOMI['padre'] = Franco ; $NOMI['madre'] = Antonietta ; $NOMI['figlio'] = Matteo ; In questo caso non utilizziamo dei numeri come indici, ma delle etichette. Per visualizzare il contenuto della relativa variabile scriviamo: echo $NOMI['figlio']; Anche nel caso delle etichette possiamo assegnare i valori direttamente nella definizione dell'array: $NOMI = array('padre' => Franco, 'madre' => Antonietta, 'figlio' => Matteo ); Vediamo ora una serie di funzioni che possiamo usa con gli array: array_key_exists($chiave,$array); Restituisce true se il valore $chiave è presente come chiave all'interno dell'array fornito come parametro. array_keys($array [,$valore [,$compara]]); Restituisce un array con all'interno tutte le chiavi di $array. Con $valore possiamo estrarre le chiavi degli elementi che hanno il valore uguale al parametro fornito. $compara è un valore booleano che permette di attivare (true) la verifica precisa di uguale (===). array_merge($array1 [,$array2 [,$array3...]]); Restituisce un nuovo array con all'interno tutti gli elementi degli array forniti come parametro. Nel caso in cui trova elementi con la stessa chiave tiene l'ultimo elemento inserito. 15/57

16 array_pop($array); Restituisce l'ultimo elemento dell'array togliendolo definitivamente. array_push($array,$elemento [,$elemento...]); Aggiunge $elemento alla fine dell'array passato come parametro. In questo caso $array aumenta di dimensione. $elemento può contenere anche un array. array_rand($array [,$num_req]); Restituisce un array con $num_req chiavi estratte a caso dall'array fornito. Il blocco ciclico foreach Quando vogliamo estrarre il contenuto di un array associativo come quello visto precedentemente non possiamo utilizzare un semplice for perché non abbiamo a disposizione un indice sequenziale che ci permette di estrarre i vari valori. Possiamo in questo caso usare il blocco ciclico foreach in grado di leggere gli elementi di un array senza tenere conto degli indici assegnati: $NOMI = array('padre' => Franco, 'madre' => Antonietta, 'figlio' => Matteo ); foreach($nomi as $value) { echo $value. <br /> ; Il foreach assegna ad ogni ciclo gli elementi dell'array estrapolandone il valore. Il risultato sarà il seguente: Franco Antonietta Matteo Possiamo allo stesso modo recuperare anche gli indici utilizzati: $NOMI = array('padre' => Franco, 'madre' => Antonietta, 'figlio' => Matteo ); foreach($nomi as $key => $value) { echo $key : $value<br /> ; Come risultato abbiamo: padre : Franco madre : Antonietta figlio : Matteo 16/57

17 Le variabili di ambiente server $_SERVER PHP crea al suo interno delle variabili chiamate di ambiente che possono essere riprese all'interno di un nostro script. Queste variabili contengono informazioni utili come l'indirizzo IP del server, l'indirizzo IP remoto del client che si collega al nostro webserver, il nome della pagina PHP che il client sta visualizzando sul proprio browser, ecc. Tutte queste informazioni vengono inserite all'interno dell'array $_SERVER creato apposta per contenere questi dati. Vediamo gli inserimenti più utilizzati: $_SERVER['SERVER_ADDR'] $_SERVER['SERVER_NAME'] $_SERVER['QUERY_STRING'] $_SERVER['HTTP_REFERER'] $_SERVER['HTTP_USER_AGENT'] $_SERVER['REMOTE_ADDR'] $_SERVER['PHP_SELF'] Indirizzo IP del server Nome di dominio del server Query string utilizzata Sito dal quale siamo stati lincati Informazioni sul browser del client es. Mozilla/4.5 [en] (X11; U; Linux i586) Indirizzo IP del client remoto Nome della pagina PHP attuale Lavorare con le date Come in tutti gli altri linguaggi di programmazione anche in PHP diventa in alcuni casi indispensabile lavorare con le date. Per questo motivo abbiamo a disposizione due comandi che ci permettono di effettuare gran parte delle operazioni necessarie date e mktime. A partire dalla versione PHP dobbiamo ricordarci di settare la timezone da utilizzare per la rappresentazione corretta della data e del tempo con il comando date_default_timezone_set(str_timezone); str_timezone Questo parametro è una stringa che identifica la timezone da utilizzare. La nostra timezone viene indicata dalla stringa Europe/Rome. Il comando date permette di formattare la visualizzazione della data corrente o di una data impostata con mktime. Il formato di questo comando è il seguente: date(formato[,timestamp]); formato Questo parametro è una stringa che contiene delle lettere predefinite per l'estrazione di determinati dati riguardante la data da visualizzare. Alcuni di queste lettere sono Y (visualizza l'anno a quattro cifre), m (visualizza il mese a due 17/57

18 timestamp cifre), d (visualizza il giorno a due cifre) e w (restituisce il giorno della settimana identificandolo con un numero 0- domenica, 1-lunedi,... 6-sabato). Questo è un valore numerico che identifica il numero dei secondi trascorsi dal 01/01/1970 alla data desiderata. Nel caso in cui venisse lascito via internamente verrebbe utilizzato il numero di secondi che identifica la data attuale. Vediamo un semplice esempio: echo date( d/m/y ); Questa semplice riga visualizza la data attuale come seguente: 15/04/2009 Il prossimo comando è mktime che permette di calcolare il numero dei secondo a partire dal 01/01/1970, valore che possiamo utilizzare poi all'interno del comando date. Il comando mktime utilizzare la seguente sintassi. mktime(ora,minuti,secondi,mese,giorno,anno) ora minuti secondi mese giorno anno Questo parametro permette di definire l'ora. Questo parametro permette di definire i minuti. Questo parametro permette di definire i secondi. Questo parametro permette di definire il mese. Questo parametro permette di definire il giorno. Questo parametro permette di definire l'anno. Per definire quindi la data 10/03/1978 alle scriviamo: date_default_timezone_set( Europe/Rome ); $TIMESTAMP = mktime(13,30,0,3,10,1978); echo date( d-m-y,$timestamp); che restituisce come risultato La costruzione della data con mktime ci permette di far calcolare in automatico dal sistema anche gli spostamente. Per restituisce il timestamp della data di 10 giorni fa possiamo scrivere: $TIMESTAMP = mktime(0,0,0,date( m ),date( d ) - 10,date( Y )); Notiamo quindi l'utilizzo del comando date all'interno di mktime. 18/57

19 Lavorare con le stringhe La manipolazione delle stringhe è una cosa molto importante. Per questo motivo abbiamo in PHP una serie di funzioni che ci permettono di velocizzare queste manipolazioni. Vediamo qui di seguito quelle più utilizzare: md5($str) Questo comando restituisce il hash-code della stringa str inserita come parametro. str_replace($trova,$sostituisci,$str[,$conta]) Questo comando cerca la stringa trova all'interno della stringa str sostituendola con sostituisci nel caso in cui la trovasse. Se definito il parametro conta verrà utilizzata come variabile contatore per identificare il numero delle sostituzioni. Esempio: $RISULTATO = str_replace( aa, bb, aaccaa,$conta); echo $RISULTATO. <BR> ; echo $conta; Il risultato sarebbe bbccbb 2 strlen($str) Questo comando restituisce la lunghezza della stringa str. Esempio: echo strlen( ciao ); ha come risultato 4 strpos($str,$trova) Questo comando restituisce la posizione (partendo dalla posizione 0) della stringa str all'interno della stringa trova, oppure false nel caso in qui non dovesse trovare nulla. Siccome il risultato false può essere confuso con la posizione 0 possiamo utilizzare un sistema che ci permette di verificare se il risultato è effettivamente valido, oppure no. Vediamo il semplice esempio: $POS = strpos( Ciao, a ); if($pos === false) { echo Nessuno corrispondenza trovata! ; else{ echo Trovato in posizione: $POS ; 19/57

20 Notiamo i tre uguali (===) per identificare l'esito del risultato del comando stesso. Il risultato del precedente esempio è: 2 strtoupper($str) Questo comando mette in maiuscolo la stringa fornita. strtolower($str) Questo comando mette in minuscolo la stringa fornita. substr($str,$inizio,[$lun]) Questo comando permette di recuperare una parte di una stringa str fornita come parametro. Il parametro inizio identifica il punto di inizio dell'estrazione dove 0 sta per il primo carattere. Il parametro lun permette di definire il numero di caratteri che vogliamo estrarre. Se il parametro lun viene lasciato via l'estrazione avviene fino alla fine dell'intera stringa. Vediamo alcuni esempi: echo substr( Ciao, come stai,6); ha come risultato: come stai echo substr( Ciao, come stai,0,4); ha come risultato: Ciao Il parametro lun può contenere anche dei valori negativi. In questo caso non definisce il numero dei caratteri ma il numero dei caratteri partendo da destra per stabilire la posizione finale di estrazione. Esempio: echo substr( Ciao, come stai,0,-5); ha come risultato: Ciao, come Anche il parametro inizio può contenere valori negativi. In questo caso identifica la posizione di partenza contando il numero dei caratteri da destra. echo substr( Ciao, come stai,-9,4); ha come risultato: come levenshtein($str1,$str2) Questo comando restituisce un valore intero che rappresenta il numero di lettere che differenzia la prima stringa str1 dalla seconda str2. echo levenshtein( ciao, ciaa ); ha come risultato: 1 20/57

21 nl2br($str [,$xhtml = true]) Questo comando converte i caratteri di nuova riga (come \n, \r) in tag <br /> oppure <br> in base all'ultimo parametro utilizzato. Con true utilizza <br />, mentre con false <br>. echo nl2br( ciao\nciao ); ha come risultato: ciao<br />ciao str_pad($str [,$lun [,$riempi [,STR_PAD_LEFT STR_PAD_BOTH]]]) Questo comando permette di aggiungere una stringa riempi ad una stringa str tante volte quanto necessario per raggiungere la lunghezza lun. Di default la stringa viene riempita a destra, ma con l'ultimo parametro possiamo decidere se riempire a sinistra (STR_PAD_LEFT) oppure da ambedue i lati (STR_PAD_BOTH). Vediamo i seguenti esempi: echo str_pad( ciao, 10); echo str_pad( ciao, 10, ".-", STR_PAD_LEFT); echo str_pad( ciao, 10, ".-", STR_PAD_BOTH); echo str_pad( ciao, 10, "."); I risultati che otteniamo sono: ciao.-.-.-ciao.-ciao.-.- ciao... str_repeat($str,$per) Questo comando permette di ripetere per volte la stringa str inserita. echo str_repeat( XX,3); ha come risultato: XX XX XX str_split($str [,$num = 1]) Questo comando permette di suddividere la stringa str in blocchi da num elementi. $arr = str_split( abcdef ); ha come risultato: array( a, b, c, d, e, f ) menter $arr = str_split( abcdef,3); ha come risultato: array( abc, def ) 21/57

22 strip_tags($str [,$tags]) Questo comando permette di pulire la stringa str da tutti i tag presenti all'interno di essa. Con il parametro aggiuntivo tags è possibile definire quali tag vogliamo mantenere all'interno della struttura fornita. echo strip_tags( <b>ciao</b> a <u>tutti</u>! ); ha come risultato: ciao a tutti! mentre echo strip_tags( <b>ciao</b> <i>a</i> <u>tutti</u>!, <b><u> ); ha come risultato: ciao a tutti! Lavorare con file/cartelle PHP mette a disposizione una serie di funzioni in grado di gestire file e/o cartelle. In questo caso bisogna ricordarsi di gestire in maniera corretta i permessi della relativa cartella alla quale PHP deve accedere. Vediamo alcune delle funzioni più utilizzate: mkdir($dir [,$mode=0777 [,$ricorsione=false]]) Questa funzione crea la cartella $dir (può contenere anche un intero percorso). Con $mode possiamo definire i permessi della cartella che non potranno però superare i permessi definiti dal sistema stesso (normalmente 0755). In caso di ricorsione attivata la funzione crea l'intero percorso di cartelle e sottocartelle fino ad arrivare all'ultima desiderata. rmdir($dir) Questa funzione cancella la cartella indicata in $dir. La cartella deve essere vuota. Restituisce true se la cancellazione va a buon fine. rename($vecchio,$nuovo) Permette di rinomina (o all'occorrenza spostare) il file $vecchio a $nuovo. Restituisce true se l'operazione va a buon fine. basename($percorso [,$suffisso]) Questa funzione restituisce il nome del file estrapolato dalla stringa $percorso costituita da cartelle, sotto cartelle e file finale. La stringa $suffisso viene tolta dalla parte destra del nome. dirname($percorso) Questa funzione restituisce il percorso estrapolato dalla stringa $percorso 22/57

23 costituita da cartelle, sotto cartelle e file finale. unlink($file) Permette di cancellare il file definito all'interno del parametro $file. file_exists($file) Restituisce true se il file definito definito all'interno del parametro $file esiste. file_get_contents($url) Restituisce l'intero contenuto del file indicato da $url che può essere un percorso locale, oppure una url, come stringa. file_put_contents($file,$contenuto) Permette di creare il file indicato da $file con il contenuto $contenuto. is_dir($dir) Restituisce true se il file indicato da $dir è una cartella. is_file($file) Restituisce true se il file indicato da $file è un file (e non una cartella). fopen($file,$mode); Questa funzione permette di aprire il file indicato dalla variabile $file in modalità $mode. Le modalità più utilizzate sono: r sola lettura, w sola scrittura, r+ oppure w+ - lettura e scrittura, a per aggiungere del contenuto ad un file già esistente. Questa funzione restituisce un puntatore posizionato sul byte 0 del file in questione. fread($puntatore,$lun); Questa funzione legge a partire dalla posizione del puntatore (inizialmente restituito da fopen) $lun byte posizionando il puntatore alla fine del blocco letto. fwrite($puntatore,$str); Questa funzione scrive $str all'interno del file aperto con fopen in modalità di scrittura a partire dalla posizione del puntatore indicato. fclose($puntatore); Questa funzione rimuove il puntatore dal file indicato dal puntatore. feof($puntatore); Restituisce true se il puntatore indicato si trova alla fine del file. Vediamo un esempio completo: $s = fopen("test.txt","r"); $d = fopen("test2.txt","w"); while(!feof($s)) { $content = fread($s, 8192); fwrite($d,$content); 23/57

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side. PHP Il linguaggio HTML e i linguaggi di scripting come Javascript impongono alcune limitazioni alle applicazioni che si possono realizzare : per esempio non è possibile costruire un sito Web che consenta

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti.

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. Questa possibilità si materializza attraverso i meccanismi che permettono

Dettagli

La programmazione web: lato client e lato server

La programmazione web: lato client e lato server La programmazione web: lato client e lato server Parlando di PHP e di altri linguaggi di scripting può capitare di sentir citare le espressioni "lato client" e "lato server": per chi non è esperto della

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli Costruzione di Siti Web con PHP e MySQL Lezione 4: Operatori, Array, Controlli e Cicli Argomenti della lezione In questa lezione si riprenderà il concetto di Array, nel suo aspetto basilare, ed in particolare

Dettagli

Utilizzare PHP 5. Le variabili GET e POST

Utilizzare PHP 5. Le variabili GET e POST Utilizzare PHP 5 Corso Interazione Uomo Macchina AA 2005/2006 Le variabili GET e POST La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) Goy - a.a. 2009/2010 Programmazione Web 1 Gli oggetti HTTP request e HTTP response -I Vi ricordate?

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 1/17 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of

Dettagli

Architettura a tre livelli (1)

Architettura a tre livelli (1) Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi

Dettagli

Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni. http://www.diee.unica.it/~giacinto/bd

Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni. http://www.diee.unica.it/~giacinto/bd Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & PostgreSQL Docente: Giorgio Giacinto A.A.

Dettagli

Guida a PHP. Primi esempi

Guida a PHP. Primi esempi Guida a PHP Php è un modulo aggiuntivo per web server che permette di creare delle pagine web dinamiche. Una pagina in Php è composta sia da tag html, sia da parti in codice di programmazione Php. Ogni

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 1/15 Copyright 2012 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Costruzione di Siti Web con PHP e MySQL Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Argomenti della lezione In questa lezione si riprenderanno le strutture di controllo, verrà introdotto

Dettagli

Laboratorio di reti II: PHP

Laboratorio di reti II: PHP Laboratorio di reti II: PHP Stefano Brocchi brocchi@dsi.unifi.it 2 marzo, 2009 Stefano Brocchi Laboratorio di reti II: PHP 2 marzo, 2009 1 / 55 Il PHP Il PHP è un linguaggio di scripting che si può inserire

Dettagli

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere Connessione ad un server MySQL resource mysql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]) server nome o indirizzo del server username nome utente

Dettagli

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: ...

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>... HTML HyperText Markup Language Struttura di un documento HTML Gli elementi essenziali di un documento HTML sono i seguenti TAG: ... ... ... Struttura di un documento

Dettagli

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com 10.07.2006 Ver. 1.0 In questo articolo vedremo come gestire con un FORM l invio di dati ad

Dettagli

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

Dettagli

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente! Lezione nr. 5 >> Come creare un modulo Web I moduli web sono delle strutture fondamentali per ogni sito web e la loro conoscenza ti permetterà di risolvere almeno il 60% delle problematiche di gestione

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 8. PHP Parte I Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata A.A. 2010/2011

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) Miniguida n. 183 Ver. 1.0 aprile 2013 La prima guida

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Cimini Simonelli - Testa

Cimini Simonelli - Testa WWW.ICTIME.ORG HTML Manuale introduttivo al linguaggio HTML Cimini Simonelli - Testa v.2-11/01/2008 Sommario Introduzione... 3 Formattazione della pagina... 4 Inserire un colore di sfondo... 4 Inserire

Dettagli

4 Pubblicare i dati MySQL

4 Pubblicare i dati MySQL 4 Pubblicare i dati MySQL sul Web Eccoci: questo è ciò che probabilmente vi interessava di più! In questo capitolo imparerete le procedure per prendere delle informazioni contenute in un database per poi

Dettagli

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre Introduzione allo sviluppo Web Studium Generale, a.a. 2013-2014, II semestre 1 Contatto Daniel Graziotin daniel.graziotin@unibz.it http://ineed.coffee/teaching/ introduzione-allo-sviluppo-web 2 Esame Esame

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6.

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6. Introduzione ad SQL Guida a cura di Rio Chierego 1. Introduzione 2. Gli operatori 3. Istruzione SELECT 4. Istruzione INSERT 5. Istruzione UPDATE 6. Istruzione DELETE 7. Istruzione CREATE, ALTER e DROP

Dettagli

Metodologie Informatiche Applicate al Turismo

Metodologie Informatiche Applicate al Turismo Metodologie Informatiche Applicate al Turismo 9. HTML Parte II Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Scienze

Dettagli

Javascript Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.2 del 03/02/2014

Javascript Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.2 del 03/02/2014 Javascript Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.2 del 03/02/2014 1/32 Copyright 2014 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document

Dettagli

Richiami sugli elementi del linguaggio HTML

Richiami sugli elementi del linguaggio HTML Richiami sugli elementi del linguaggio HTML Un documento in formato Web può essere aperto con un browser, attraverso un collegamento a Internet oppure caricandolo dal disco del proprio computer senza connettersi

Dettagli

Esploriamo Javascript! 1 di Ivan Venuti

Esploriamo Javascript! 1 di Ivan Venuti Esploriamo Javascript! 1 di Ivan Venuti L Html è stato pensato (e creato) per presentare contenuti statici che, visualizzati da utenti diversi, diano sempre lo stesso risultato. Per sopperire a questa

Dettagli

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli

UNIT 9-10-11-12. 1.1 Gestione mail con PHP. Funzione che permette l'invio delle mail tramite php. mail($mail, $subject, $message, $headers);

UNIT 9-10-11-12. 1.1 Gestione mail con PHP. Funzione che permette l'invio delle mail tramite php. mail($mail, $subject, $message, $headers); UNIT 9-10-11-12 1.1 Gestione mail con PHP Funzione che permette l'invio delle mail tramite php. mail($mail, $subject, $message, $headers); $mail indirizzo a cui viene inviata la mail. per inviare la mail

Dettagli

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento Scripting lato server Elementi del linguaggio PHP 1 L'URL che il browser richiede identifica una risorsa presente in un server http costituita da Codice HTML Pezzi di codice scritti in un linguaggio di

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

Guida html e css base

Guida html e css base Sommario Guida html e css base...1 Introduzione...1 Formattare il testo...4 Organizzare il testo in paragrafi...5 Creare le sezioni come in un libro...6 Creare gli elenchi...8 Inserire immagini e collegamenti...11

Dettagli

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO SCIENTIFICHE Un negozio on line chiede che sia progettato

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT?

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT? Lezione nr. 7 >> Come posso recuperare i valori di un modulo web? Siamo finalmente giunti alla lezione che inizierà ad introdurti nel mondo della programmazione web avanzata. Niente di difficile, ovviamente,

Dettagli

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access Prologo Parlando di tecnologie Web legate a Microsoft è naturale integrare le funzioni di ASP 1 con

Dettagli

Interazione con l utente : i moduli.

Interazione con l utente : i moduli. Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.

Dettagli

Il linguaggio PHP Introduzione

Il linguaggio PHP Introduzione Pagina 1 di 11 Il linguaggio PHP Introduzione Il nome PHP, acronimo per Professional Home Pages, già la dice lunga sulla sua vocazione per la Rete: lo scopo del linguaggio è quello di consentire agli sviluppatori

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

"MANUALETTO" SQL - PHP/HTML

MANUALETTO SQL - PHP/HTML "MANUALETTO" SQL - PHP/HTML Sommario Capitolo 1- Introduzione SQL... 4 Capitolo 2- Istruzioni DDL... 4 CREATE DATABASE ... 4 CREATE TABLE ... 4 Vincoli di ogni singolo attributo...

Dettagli

Simonotti Graziano DATABASE

Simonotti Graziano DATABASE DATABASE 1 - Che cos'è un database? Il database è un archivio di dati, che può essere gestito con sistemi informatici oppure in modo manuale. 2 - Come si chiamano i programmi che gestiscono gli archivi?

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Laboratorio di sistemi Web Application in Php5 Php

Laboratorio di sistemi Web Application in Php5 Php Applicazioni web con Xampp, Php5 e NetBeans 6.5 (Windows) Vogliamo ora riscrivere a titolo di prova un'applicazione web precedentemente scritta in Java (si legga l'articolo all'indirizzo http://www.mauriziocozzetto.net/pdf/dao_mysql.pdf).

Dettagli

LEZIONE NO. 1: INTRODUZIONE, ELEMENTI BASE, DI ATTILIO ABBIEZZI

LEZIONE NO. 1: INTRODUZIONE, ELEMENTI BASE, <HEAD> DI ATTILIO ABBIEZZI HTML BASE LEZIONE NO. 1: INTRODUZIONE, ELEMENTI BASE, DI ATTILIO ABBIEZZI FONTI: HTML.IT 1 Breve Introduzione Che cosa significa linguaggio HTML? HTML = HyperText Markup Language Il primo concetto

Dettagli

MODULO 2 PARTE 5.a. Programmare sul Web 2.0 Tagging systems and tag clouds. Goy - a.a. 2012/2013 Programmazione Web 1. Cos'è il Web 2.

MODULO 2 PARTE 5.a. Programmare sul Web 2.0 Tagging systems and tag clouds. Goy - a.a. 2012/2013 Programmazione Web 1. Cos'è il Web 2. MODULO 2 PARTE 5.a Programmare sul Web 2.0 Tagging systems and tag clouds Goy - a.a. 2012/2013 Programmazione Web 1 Cos'è il Web 2.0 - I Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo

Dettagli

Strumenti a disposizione

Strumenti a disposizione FORM Strumenti a disposizione L'HTML visto fino ad ora permette di descrivere solo documenti statici e passivi Colori, immagini, testi, etc... L'utente può solo interagire con i link Non sempre questo

Dettagli

Introduzione a PHP. Simone Baldassin Webdesign

Introduzione a PHP. Simone Baldassin Webdesign Introduzione a PHP Phpè un linguaggio di programmazione nato nel 1995 per mano di RasmusLerdof utilizzando un set di caratteri binari scritto in C (altro linguaggio di programmazione) e gran parte della

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

GUIDA BASE ALL SQL by DaD

GUIDA BASE ALL SQL by DaD GUIDA BASE ALL SQL by DaD Introduzione L'SQL, è un linguaggio per database anche se sarebbe meglio definirlo un sublinguaggio in quanto a differenza dei linguaggi veri e propri non possiede alcun comando

Dettagli

Dato un form contenente

Dato un form contenente <input type=text name=weight size=20 /> Dato un form contenente Lo script PHP inserisce l input dell utente in una variabile speciale chiamata $_REQUEST['weight']il cui argomento è uguale al corrispondente

Dettagli

Alla base del web: il protocollo HTTP

Alla base del web: il protocollo HTTP Alla base del web: il protocollo HTTP Programmazione lato server Serie di tecniche che consentono di creare dinamicamente risorse da distribuire tramite un server Web Questo può essere ottenuto tramite

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Chi può riuscire a creare pagine HTML? La realizzazione di pagine web non eccessivamente sofisticate è alla portata di tutti, basta

Dettagli

Appunti su ASP (Active Server Pages)

Appunti su ASP (Active Server Pages) Client Client Appunti su ASP (Active Server Pages) Che cosa è ASP Un server web è un computer che contiene tutte le pagine web di un determinato sito web. In tale computer è installato un software che

Dettagli

Introduzione a Php. Php http://www.php.net Il sito ufficiale di Php dove potrai scaricare gratis l ultima release di Php. Freeware.

Introduzione a Php. Php http://www.php.net Il sito ufficiale di Php dove potrai scaricare gratis l ultima release di Php. Freeware. Introduzione a Php In questa guida vedremo di capire insieme le basi di uno dei linguaggi di scipting lato server più usati sul Web: PHP o più precisamente PHP Hypertext Processor. PHP è un potentissimo

Dettagli

3. Programmazione con le pagine ASP classiche

3. Programmazione con le pagine ASP classiche LIBRERIA WEB 3. Programmazione con le pagine ASP classiche 1. Le pagine ASP in generale ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server,

Dettagli

COM_HELLOWORLD_PART4

COM_HELLOWORLD_PART4 COM_HELLOWORLD_PART1 Nel manifest la presenza del tag permette di gestire le versioni incrementali di aggiornamento anche grazie all uso del tag . Le installazioni successive del componente

Dettagli

Dott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio

Dott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala a.pietramala@mat.unical.it Dott.ssa Maria Vittoria Avolio avoliomv@unical.it Funzioni predefinite substr(stringa,

Dettagli

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello ! Evitare la ridondanza Perchè un database? Avere PHP che assembla le pagine velocemente da un modello ed un DB è un esperienza unica. Con lo sforzo di programmazione di una pagina, si possono produrre

Dettagli

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere.

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere. Lezione nr. 8 Ciao e benvenuto all ultima lezione del corso base. Innanzitutto voglio complimentarti con te per essere arrivato fino a qui. E stato un percorso un po duro e sei stato bravo nel superare

Dettagli

Sicurezza Protezioni in una pagina Web

Sicurezza Protezioni in una pagina Web Pagina 1 di 7 Sicurezza Protezioni in una pagina Web HTML è un linguaggio che consente di presentare informazioni in pagine di formato predefinito e accattivante. Quando non si hanno a disposizione informazioni

Dettagli

INTRODUZIONE ALL HTML

INTRODUZIONE ALL HTML INTRODUZIONE ALL HTML LE REGOLE GENERALI Di seguito, sono raccolti i tag html (comandi) di uso più frequente per la formattazione dei testi e la gestione di una pagina web all interno del nostro sistema

Dettagli

Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1. MiniGuida PHP. http://labcalc.phys.uniroma1.it/sharedwindowsdocs/

Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1. MiniGuida PHP. http://labcalc.phys.uniroma1.it/sharedwindowsdocs/ Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1 MiniGuida PHP http://labcalc.phys.uniroma1.it/sharedwindowsdocs/ Liberamente adottata ed adattata a soli scopi didattici e senza fini di lucro

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE CHIARA FERRARI 5I MERCURIO INDICE: 1. TRACCIA DEL PROBLEMA 2. SVILUPPO DEL PROGETTO (ENTITA, ATTRIBUTI) 3. SCHEMA E-R DELLA BASE DEI

Dettagli

Presentazione del progetto

Presentazione del progetto Esempio Progetto PHP Un piccolo negozio online CORSO: Master di primo livello in tecnologie sicurezza web e networking Docente: Dott.ssa Daniela Remogna www.fimietta.it 1 Presentazione del progetto L azienda

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Laboratorio di reti II: Java Server Pages

Laboratorio di reti II: Java Server Pages Laboratorio di reti II: Java Server Pages Stefano Brocchi brocchi@dsi.unifi.it 6 aprile, 2009 Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, 2009 1 / 34 JSP - Java Server Pages Le

Dettagli

Introduzione. Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language

Introduzione. Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language HTML 05/04/2012 1 Introduzione Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language L'ipertesto è semplicemente un testo che funziona

Dettagli

Ci sono tantissimi motivi per scrivere programmi

Ci sono tantissimi motivi per scrivere programmi Capitolo 1 Orientamento e primi passi 1.1 Il ruolo di PHP nel mondo del Web 1.2 Cos ha PHP di tanto speciale? 1.3 PHP in azione 1.4 Regole fondamentali dei programmi PHP 1.5 Sommario Ci sono tantissimi

Dettagli

Introduzione ad AJAX

Introduzione ad AJAX Introduzione ad AJAX Asynchronous Javascript And XML (PWLS 6.9, 6.10) Complementi di Tecnologie Web A.A. 2011-2012 M.Franceschet, V.Della Mea e I.Scagnetto - 1 Limitazioni delle applicazioni web tradizionali

Dettagli