Introduzione al PHP. Fig-1 Colloquio Client-Server-PHP. Domenico Nappo Domenico Surace - Manuali.Net Tutti i diritti riservati

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione al PHP. Fig-1 Colloquio Client-Server-PHP. Domenico Nappo Domenico Surace - Manuali.Net Tutti i diritti riservati"

Transcript

1 Lezione 1 Introduzione al PHP. Cos è il PHP? Introduzione al PHP. Questa prima lezione sarà puramente introduttiva. Spiegheremo cosa è PHP, quali sono le sue potenzialità, impareremo a configurare la nostra macchina per lavorare con PHP e proveremo il nostro primo script. Cos è il PHP? PHP è un linguaggio di scripting server side HTML embedded. Se siete dei newbies e vi state avvicinando soltanto adesso alla programmazione web, non spaventatevi! Cerchiamo prima di tutto di spiegare quanto detto sopra : PHP è un linguaggio di scripting server side : A differenza dei linguaggi eseguiti lato client, cioè dal browser, come Javascript, PHP viene eseguito sul server, richiamando il modulo apposito che farà da interprete. Altri linguaggi di scripting server side sono il Perl e la piattaforma ASP. Java, invece, è un vero e proprio linguaggio di programmazione e si possono creare siti dinamici utilizzando le servlet e le jsp, separando la presentazione dalla logica dei contenuti. Vedremo che ciò è possibile, con un piccolo sforzo di organizzazione, anche con PHP. Quella che segue (Fig-1), è una rappresentazione semplificata di come avviene un colloquio http per una richiesta di esecuzione di una pagina PHP. Fig-1 Colloquio Client-Server-PHP Come potete osservare, ciò che viene restituito al client è sempre del codice HTML che viene poi renderizzato (permettetemi questo brutto neologismo) dal browser. E compito del server web capire se la richiesta contiene il semplice prelievo di una pagina html statica o l esecuzione di uno script PHP.

2 Lezione 1 Introduzione al PHP. Perché imparare PHP. PHP è HTML-embedded : A differenza del Perl, le istruzioni PHP vengono inserite all interno del codice HTML :.codice html statico <?PHP print <b>questa frase viene processata dall interprete PHP</b> <br> ;?> altro codice html statico I tag di delimitazione all interno dei quali viene inserito il codice PHP sono <?PHP e?>. Le pagine che contengono codice PHP devono avere (tipicamente) estensione.php. Perché imparare PHP. Molti si chiedono se come linguaggio server side conviene imparare PHP, Perl, Java o la piattaforma ASP di Microsoft. PHP ha molti punti a favore rispetto agli altri linguaggi menzionati. Rispetto alla soluzione ASP, PHP non è un linguaggio proprietario, è Open Source ed è free, oltre ad essere multipiattaforma. Viene praticamente adottato da tutti i fornitori di Hosting che lavorano su piattaforme Linux (e quindi, a parità di prestazioni e di qualità del servizio, offrono prezzi più contenuti). Grazie alla sua caratteristica Open Source, esistono in rete varie risorse professionali di classi e script gratuiti, senza contare tutta la comunità di sviluppatori che gira attorno a questo linguaggio. E meno complesso rispetto al Perl e all architettura J2EE di Java, ma le potenzialità sono le stesse. La sua velocità di esecuzione, l integrazione perfetta con i DBMS più famosi (come MySQL e PostgreSQL) ed il supporto offerto da Apache a questo linguaggio, fanno di PHP la soluzione ottimale per progetti che richiedono rapidità di sviluppo e prestazioni notevoli. Per finire, PHP offre anche l integrazione con gli oggetti (D)COM della Microsoft, con XML, con il linguaggio Java, con Flash della Macromedia, manipolazione di file PDf etc. Insomma, PHP è uno strumento indispensabile per ogni webdeveloper! Prepariamo il nostro ambiente di lavoro : Esistono in rete alcuni tools che permettono l installazione di Apache, MySQL e PHP su una piattaforma Windows in una volta sola.

3 Lezione 1 Introduzione al PHP. Proviamo il primo script. Noi sceglieremo, come ambiente di sviluppo, un server web molto leggero e veloce : Xitami della Imatix (per scaricare il piccolo file di installazione collegarsi a ); installeremo i binari di PHP per windows (scaricabili da ) ed i binari per il server MySQL ( Dopo aver installato il server web (ad esempio nella directory c:\xitami ), creiamo una directory c:\xitami\php e decomprimiamo i file in tale directory. Apriamo ora il file php-ini.dist e modifichiamo, nella sezione [session], il parametro session.save_path inserendo un percorso alla directory temporanea di Xitami (c:\xitami\temp ). Dopodiché, copiamo tale file nella cartella c:\windows, rinominandolo php.ini. Altre modifiche da effettuare riguardano il file xitami.cfg. In realtà, bisogna aggiungere la seguente linea nella sezione [filter] del file :.php=c:\xitami\php\php.exe In tal modo, il server web demanderà all interprete php l esecuzione dei file con estensione.php. Prepariamo anche una cartella che conterrà tutti i nostri file di prova : c:\xitami\webpages\test_php. Dopo aver fatto ciò, avviamo il server web, clicchiamo col tasto destro sull iconcina che appare in basso a destra nel systray e scegliamo setup. Si aprirà una pagina del nostro browser preferito, chiedendoci user e password di amministrazione (le abbiamo inserite prima quando abbiamo installato Xitami!). Quando in seguito ci appare il pannello di controllo del server web, clicchiamo su Configuration ed inseriamo nel campo Main HTML directory la nostra directory di lavoro : c:\xitami\webpages\test_php. Dopodiché, clicchiamo sull icona save (in alto a sinistra) e riavviamo il server web. Ultimo passo, installiamo MySQL sulla nostra postazione (è un operazione molto semplice visto che si tratta di un classico file di installazione windows). Proviamo il primo script. Apriamo il nostro editor di testo preferito (se volete un editor che supporti la sintassi PHP ce ne sono molti in rete; io uso ConTEXT e mi trovo benissimo). Scriviamo il seguente codice : <?PHP phpinfo();?> Salviamo il nostro file con il nome test.php nella directory di lavoro (test_php). Quindi, colleghiamoci con il nostro browser all indirizzo

4 Lezione 1 Introduzione al PHP. Proviamo il primo script. Se è tutto a posto, dovrebbe apparirci una lunga tabella contenente le principali informazioni sul nostro ambiente di lavoro! Ecco lo screenshot (Fig-2) che mostra una parte della tabella che dovrebbe essere visualizzata. Fig-2 Il risultato della funzione phpinfo() Altrimenti, rivedete il tutto! Alla prossima! 2002 Powered By Domenico Nappo, Domenico Surace e Manuali.net L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

5 Lezione 2 Le basi del linguaggio. Le basi del linguaggio. I tag di apertura e chiusura. Iniziamo adesso ad apprendere le basi del linguaggio. Anche se partiamo praticamente da zero, nel seguito del corso imparerete ad utilizzare le espressioni regolari, ad implementare un carrello elettronico, a lavorare con i template e via dicendo. I tag di apertura e chiusura. Abbiamo già visto, nei piccoli esempi precedenti della lezione 1, quali sono i tag di apertura e chiusura che contengono il nostro codice PHP. Oltre ai tag <?PHP e?> è possibile utilizzare anche : <??> <% %> (come nelle ASP) <SCRIPT LANGUAGE= php > </SCRIPT> Per il riconoscimento dei tag non standard, bisogna settare le variabili short_open_tag = On e asp_tags = On nel file php.ini. In ogni caso, consiglio di usare i tag standard. I commenti. PHP eredita molte particolarità dal Perl e dalla sintassi C. Ciò è vero anche per i caratteri che identificano le linee di commento. Le linee di commento sono importantissime per un software già mediamente complesso! Si consiglia l uso dei commenti in maniera spassionata, per evitare di riaprire un file dopo due mesi e scoprire che non si capisce nulla del proprio lavoro. Le linee di commento iniziano con i caratteri // o # : //la seguente funzione calcola la somma fra due numeri : function somma(a,b) {... #a questo punto viene restituito il risultato return a+b;... Per inserire interi blocchi di commento, conviene utilizzare i delimitatori /*... */ : /* File carrello.php Autore : Domenico Nappo Data Revisione : 11/12/2001*/

6 Le prime funzioni PHP. Le prime funzioni PHP. Le prime funzioni che vogliamo subito provare, quando ci mettiamo in testa di imparare un nuovo linguaggio di programmazione, sono quelle di output o stampa a video. Non è un caso se il primo programma di esempio che si trova su tutti i manuali è l immortale Hello World!. Vediamo subito un esempio : <?PHP print Hello World! ;?> All esecuzione di questo script, verrà stampata la scritta Hello World!. Originale eh? Altra funzione di stampa, anzi non è una funzione ma un costrutto di linguaggio, è l istruzione echo... <?PHP echo Stampo tutto su più righe ;?> Possiamo anche usare il carattere speciale \n (new line) nel seguente modo : echo Stampo tutto su\n più righe ; Notate le virgolette doppie, che servono ogni qualvolta ci sono caratteri speciali da interpretare o variabili stringa da interpolare (parleremo più avanti nel corso di questa particolarità). Per inciso, se dovete stampare stringhe statiche (cioè che non contengono variabili da interpolare), meglio usare gli apici singoli, che hanno un esecuzione leggermente più veloce, ma che può risultare sensibile nei casi di script molto complessi e lunghi. Altra funzione interessante è la nl2br(. ). Tale funzione converte tutti i new line (\n) in tag <br>. <?PHP nl2br( Questa stringa\n verrà stampata dal\n browser su più righe );?> Salviamo tale codice nella directory di lavoro. Chiamiamo dal browser questo script ed esaminiamo il codice html restituito. Noteremo dei tag <br> al posto dei \n. HTML e PHP. Vediamo più in particolare come integrare il codice PHP nelle nostre pagine HTML. Si è già detto che i blocchi di istruzioni vanno inserite all interno di opportuni tag (<?PHP?>) e che il file deve avere estensione.php. <html> <head> <title>script PHP di prova</title> </head> <body> <font face= Verdana size= 2 >Font Verdana di dimensione 2</font>

7 Lezione 2 Le basi del linguaggio. Good Editing Style! <?PHP echo <font face=\ Arial\ size=\ 3\ ><b> Font Arial di dimensione 3 in grassetto</b></font> ;?> </body> </html> Il codice restituito al browser risulterà essere : <html> <head> <title>script PHP di prova</title> </head> <body> <font face= Verdana size= 2 >Font Verdana di dimensione 2</font> <font face= Arial size= 3 ><b> Font Arial di dimensione 3 in grassetto</b></font> </body> </html> Da notare la presenza dei caratteri di escape (\) prima delle doppie virgolette ( ). Infatti, quando c è necessità di mandare in output un carattere che può essere frainteso dall interprete (in questo caso, PHP avrebbe interpretato le doppie virgolette come chiusura dell istruzione echo), bisogna prefissare a tale carattere il simbolo di escape \, dicendo così all interprete che il carattere che seguirà deve essere stampato così com è. Good Editing Style! Terminiamo questa lezione con un paragrafo volto a darvi alcuni (pretenziosi) consigli circa lo stile di scrittura dei vostri script. Ciò che diremo può valere naturalmente per qualsiasi linguaggio di programmazione. E bene programmare sin dall inizio seguendo una certa logica e consistenza, altrimenti vi ritroverete con degli script illeggibili e praticamente inservibili! Prima di tutto, come già è stato detto in questa stessa lezione, bisogna far un largo uso di commenti! Naturalmente questi devono essere significativi, e non devono limitarsi a spiegare cosa fa un istruzione ma piuttosto perché la si fa, perché in quel modo, perché in quel punto! Usate la tabulazione per far rientrare i blocchi di codice all interno di cicli, funzioni, controlli etc. Ad esempio : if (a<>b) { print a è diverso da b ; else { print a è uguale a b ; E sicuramente più leggibile di : if (a<>b) {

8 Good Editing Style! print a è diverso da b ; else {print a è uguale a b ; Figuratevi con cicli e controlli complessi! Altra cosa importante, usate nomi di variabile esplicativi, e non dei criptici a, b, i, j e k. Forse gli script peseranno qualche byte in meno,ma i vostri colleghi vi ringrazieranno quando avranno a che fare con il vostro codice. Stesso discorso per i nomi di funzione, le costanti (scritte in maiuscolo) ed il nome stesso del file. Siamo giunti al termine della seconda lezione. Ce ne sono tante altre ancora! Seguiteci! 2002 By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

9 Le variabili. Lezione 3 Le variabili. Cosa sono le variabili. In questa lezione si parlerà delle variabili, cioè il cuore di ogni applicazione, sia che si tratti di uno script PHP, di un programma gestionale fatto in Visual Basic che di un vecchio programma COBOL del Cosa sono le variabili. Se queste lezioni sono il vostro primo approccio con un linguaggio (per vostra sfortuna! Siete capitati nelle mani sbagliate ), allora è meglio dirvi che uno degli elementi più importanti della programmazione è la variabile. La definizione classica che si dà di solito è la seguente : Una variabile è una sorta di contenitore identificato da un nome, con al suo interno un valore. In PHP le variabili sono riconoscibili perché iniziano con il simbolo $ : $a, $user, $numero, $45 sono esempi di identificatori corretti per una variabile (anche se l ultimo caso è alquanto raro e soprattutto sconsigliato per non ledere la leggibilità di un programma). I tipi di dati in PHP. Una variabile può contenere, quindi, un valore numerico, una stringa di caratteri, un singolo carattere, un insieme di valori. In PHP, una variabile può cambiare il suo valore (compreso il tipo) in qualsiasi momento. In altri linguaggi (non di scripting) bisogna dichiarare le variabili usate ed il loro tipo. PHP esegue invece delle conversioni forzate di tipo a seconda della situazione. $quantita=15; //contiene un valore numerico $quantita= tanta ; //adesso la variabile contiene una stringa $quantita= 15 ; //è sempre una stringa $totale=$quantita+3 //conversione forzata (casting) ad intero per //effettuare la somma //$totale conterrà il valore 18. //nota : la somma viene effettuata su una copia della variabile. //la variabile resterà di tipo string Notate la particolarità di questo linguaggio. Per chi conosce un po di C/C++, tutto ciò sembrerà un assurdità, visto che il C è un linguaggio fortemente tipizzato e definito in modo tale da evitare errori di programmazione. In effetti, con le comodità offerte dal PHP, si potrebbe incorrere facilmente in errori di programmazione/distrazione, difficilissimi da scovare! Perciò vi consigliamo di stare molto attenti. Pensate però ad un campo quantità proveniente da un modulo HTML. Esso sarà inviato necessariamente come un campo stringa, e non in formato numerico. A questo punto torna comoda la conversione stringa->numero, per poter operare su quell informazione. Dei moduli HTML parleremo più avanti nel corso. Le variabili PHP possono contenere dati del tipo : numero intero (integer) 15 numero reale (double) 3.14 stringa (string) Sono un insieme di caratteri! valore booleano (boolean) true (oppure false)

10 Variabili scalari e array. Inoltre, una variabile può essere di tipo array o un oggetto (se ne parlerà più avanti!). Variabili scalari e array. Abbiamo visto qualche esempio di variabile scalare (cioè contenente un singolo elemento). Una variabile può essere anche di tipo Array, cioè può contenere un vettore o una matrice. Gli array vengono indicizzati, tramite un numero o una stringa, ed è quindi possibile accedere ad un singolo elemento dell array. Vediamo prima di tutto di definire un array. In PHP esistono vari modi di creare un array : $amici=array( Aldo, Alfonso, Biagio, Carlo ); print $amici[1]; L istruzione print stamperà Alfonso, poiché gli array vengono indicizzati partendo da zero. Altro modo di definire un array è il seguente : $amici[]= Aldo ; $amici[]= Alfonso ; Più avanti nel corso, dedicheremo un intera lezione agli array, visto che nella vostra vita di programmatori li incontrerete molto spesso e risulteranno indispensabili nella maggior parte dei casi. Variabili dinamiche. Parliamo adesso di variabili dinamiche. Esaminiamo il seguente pezzettino di codice : $identificativo= codice ; $$identificativo= 1452 ; Queste due righe equivalgono a $codice= Strabiliante vero? Per stampare invece : print $$identificativo\n\n ; print ${$identificativo ; La prima riga non stampa il contenuto della variabile $codice ma stampa $codice! Per informare PHP del fatto che si vuole stampare una variabile dinamica, è necessario inserirla fra parentesi graffe. Infatti, la seconda riga di codice stampa Questa è una piccola magia di PHP. Ci si potrebbe chiedere il perché di questa stranezza. Io posso dirvi, per adesso, che alcuni problemi che sembravano alquanto complicati si sono rivelati di semplice soluzione tramite un uso intelligente delle variabili dinamiche. Inoltre, se vi trovate a lavorare sul codice di sistemi di script complessi, troverete che questa soluzione viene utilizzata in maniera proficua in svariate situazioni.

11 Lezione 3 Le variabili. Le costanti. Le costanti. Definire una costante all interno di uno script, magari inserendo tutto il nostro set di costanti in un file da includere ogni volta, permette un astrazione maggiore ed una maggior chiarezza e leggibilità. Ad esempio : define( PI_GRECO,3.141); define( E,2.718); In questo modo, abbiamo definito due costanti che possiamo utilizzare all interno dei nostri script, evitando di inserire il valore numerico, riferendoci all astrazione che abbiamo creato. Inoltre, possiamo adottare l uso delle costanti per riferirci a valori speciali. Ad esempio: stiamo curando la gestione di una biblioteca. Invece di riferirci alle riviste con il numero 12 e ai quotidiani con il numero 15, possiamo definire due costanti in questo modo : define( RIVISTA,12); define( QUOTIDIANO,15); Notate l uso delle maiuscole per i nomi di costanti. In PHP esistono anche costanti predefinite come FILE e LINE (due underscore prima e dopo), utili per segnalare il file e la riga corrente in caso di errore. Abbiamo terminato anche questa terza lezione. Alla prossima! 2002 By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

12 Gli operatori. Lezione 4 Gli operatori. Operatori aritmetici. In questa lezione illustreremo l uso degli operatori, in modo da essere in grado di manipolare i valori contenuti nelle variabili e capire in seguito esempi un pò più completi. Operatori aritmetici. Analizziamo i principali operatori aritmetici di PHP. A tale scopo, riportiamo una tabellina : Simbolo Cosa fa Esempio con $x=10 e $y=4 Risultato + Somma i due operandi $x+$y 14 - Sottrazione $x-$y 6 * Moltiplica i due operandi $x*$y 40 / Divisione $x/$y 2.5 % Resto divisione intera $x%$y 2 Operatori di assegnazione. Abbiamo già visto l operatore = per assegnare un valore ad una variabile. PHP fornisce anche un insieme di combinazioni di operatori che assegnano un valore alla variabile, modificando in vario modo il valore di destra. Facciamo degli esempi : $x+=3; Equivale a scrivere : $x=$x+3; Analogo discorso per gli operatori /=,-=,*=,%=. Utile è l operatore di concatenazione di stringhe : $messaggio= Il cliente Mario Rossi ha comprato i seguenti articoli :\n ; $messaggio.= Tappeto persiano codice T135 ; Ci sono poi li operatori incrementali e decrementali, molto utili per alleggerire le istruzioni : $x=10; $x++; //$x contiene 11 $x++ equivale a $x=$x+1 $x--; //$x contiene 10 $x-- equivale a $x=$x-1 Bisogna precisare però che in questo caso, la variabile viene memorizzata (in un eventuale variabile a sinistra) e poi incrementata. Infatti, $y=$x++; Con questa istruzione, la variabile $y conterrà il valore di $x prima dell incremento. Per ovviare a ciò bisognerebbe scrivere nel seguente modo :

13 Operatori di confronto e operatori logici. $y=++$x; Operatori di confronto e operatori logici. Il controllo sulle variabili sono importanti per determinare l azione da intraprendere in base ai valori contenuti (tramite istruzioni if, while etc. che vedremo nella prossima lezione). Ogni operazione di confronto restituisce un valore booleano: true o false, cioè falso o vero. Di solito le operazioni di confronto sono legate fra loro da operatori logici (AND, OR e NOT), per ottenere delle espressioni booleane più complesse. Si osservi attentamente la seguente tabella : Operatore Significato Esempio con $x=10 Valore booleano restituito == Uguale a $x==4 FALSE!= Diverso da $x!=10 FALSE > Maggiore di $x>9 TRUE >= Maggiore o uguale a $x>=10 TRUE < Minore di $x<8 FALSE <= Minore o uguale a $x<=9 TRUE Le seguenti tabelle descrivono la logica degli operatori booleani : Operatore! (not) Risultato Esempio con $x=10 FALSE TRUE!($x>10) TRUE TRUE FALSE!($x==10) FALSE Operatore && (and) 1 operando 2 operando Risultato Esempio con $x=10 FALSE FALSE FALSE ($x>15)&&($x!=10) FALSE FALSE TRUE FALSE ($x>12)&&($x<15) FALSE TRUE FALSE FALSE ($x<15)&&($x>10) FALSE TRUE TRUE TRUE ($x<15)&&($x>=10) TRUE Operatore (or) 1 operando 2 operando Risultato Esempio con $x=10 FALSE FALSE FALSE ($x>15) ($x!=10) FALSE FALSE TRUE TRUE ($x>15) ($x<12) TRUE TRUE FALSE TRUE ($x<12) ($x>10) TRUE TRUE TRUE TRUE ($x<15) ($x>=10) TRUE

14 Lezione 4 Gli operatori. Priorità fra gli operatori. Priorità fra gli operatori. E sempre bene sapere come funziona la priorità fra gli operatori visti in precedenza, ma consigliamo vivamente di mettere fra le parentesi tonde tutto ciò che costituisce un atomo di espressione, sempre per la solita questione della leggibilità. Ecco gli operatori in ordine di precedenza : / * % + - < <= > >= ==!= && Quindi : 10*4+12-6/3 restituisce 50. Meglio scrivere, però, (10*4)+12-(6/3). O, se queste non sono le vostre intenzioni, (10*(4+12)-6)/3, il cui risultato sarà Per quanto riguarda la priorità fra gli operatori logici, basta tener conto che l and (&&) ha precedenza rispetto all or ( ) By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

15 Lezione 5 Il flusso di elaborazione. Il flusso di elaborazione. Questa è l ultima lezione riguardante le basi del PHP (comuni in gran parte a tutti gli altri linguaggi di programmazione e di scripting). Dopo tale lezione, potete davvero iniziare a fare qualcosa di serio! Istruzione if. Sintassi : if (espressione) { istruzioni L istruzione if è molto semplice : analizza l espressione booleana fra parentesi. Se il risultato di questa espressione è TRUE, esegue l istruzione immediatamente successiva (che può essere anche un blocco di istruzioni racchiuse fra parentesi graffe). Se l espressione risulta essere FALSE, ignora semplicemente tale istruzione. If (($x>=0) && ($x<3)) { print $x è contenuto nell intervallo [0-3) ; Clausola else con if. Se si vogliono eseguire istruzioni soltanto se l if non è verificato, dobbiamo utilizzare la clausola else nel seguente modo : sintassi : if (espressione) { istruzioni else { altre istruzioni Ad esempio : If (($x>=0) && ($x<3)) { print $x è contenuto nell intervallo [0-3) ; else { print $x non è contenuto nell intervallo [0-3) ;

16 Clausola elseif. Se non avessimo utilizzato l else, la seconda chiamata alla funzione print sarebbe stata eseguita in ogni caso. Clausola elseif. Tramite l utilizzo combinato di if, elseif e else, è possibile eseguire controlli diversi ed eseguire un blocco di istruzioni di default : sintassi: if (espressione) { istruzioni elseif (altra espressione) { altre istruzioni else { istruzioni da eseguire nei casi non previsti Ad esempio : If (($x>=0) && ($x<3)) { print $x è contenuto nell intervallo [0-3) ; elseif (($x>=3) && ($<6)) { print $x è contenuto nell intervallo [3-6) ; else { print $x non è contenuto in nessuno degli intervalli previsti ; Istruzione switch. Tramite l istruzione switch si può eseguire un blocco di codice per ogni risultato previsto da una espressione (che non deve essere necessariamente booleana) : sintassi : switch (espressione) { case risultato1: istruzioni da eseguire se si ha risultato 1 break; case risultato2: istruzioni da eseguire se si ha risultato 2 break;

17 Lezione 5 Il flusso di elaborazione. default : istruzioni da eseguire in tutti gli altri casi Un semplice esempio : <?PHP $utente= Mario ; switch ($utente) { case Giorgio : print Salve Giorgio. ; break; case Lino : print Salve Lino. ; break; default : echo Utente inesistente. Si prega di contattare l amministratore di sistema. ;?> In questo caso quindi, lo script stamperà a video il messaggio di utente inesistente. Tanto per dare un idea, se volessimo implementare gli stessi controlli tramite combinazioni di if,elseif ed else : <?PHP $utente= Mario ; if ($utente== Giorgio ) { print Salve Giorgio. ; elseif ($utente== Lino ) { print Salve Lino. ; else { print Utente non riconosciuto. ;?> Istruzione while. Sintassi : while (espressione) {.istruzioni Tale istruzione esegue il blocco di codice mentre (while) l espressione risulta TRUE. Quindi, per evitare un ciclo infinito, nel blocco ci sarà un istruzione che provvederà a modificare le variabili

18 Istruzione do while. che entrano in gioco nell espressione, fino a che questa non sarà valutata FALSE e quindi il flusso del programma passerà alle istruzioni successive al while. Vediamo un semplice esempio : $risultati=array(12,45,22,43,66,0); $i=0; while ($risultati[i]) { print \$risultati[$i] vale $risultati[$i] \n\n ; $i++; Tale ciclo termina quando si arriva all ultimo elemento dell array, poiché l espressione viene valutata FALSE. Istruzione do while. E simile al while, ma il codice viene eseguito prima della valutazione dell espressione. In alcuni casi può essere comodo usare do..while anziché il while. Sintassi : do {.istruzioni while (espressione); Ciclo for. Sintassi : for (assegnazione; test; incremento) { istruzioni E utilissimo usare un ciclo for quando sappiamo perfettamente quante volte bisogna eseguire il blocco di istruzioni. Ad esempio : $risultati=array(12,45,22,43,66); $quante_volte=count($risultati); for ($i=0;$contatore<=$quante_volte;$i++) { print \$risultati[$i] vale $risultati[$i] \n\n ;

19 Lezione 5 Il flusso di elaborazione. La funzione count($array) restituisce il numero di elementi presenti nell array By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

20 Lezione 6 Lavorare con gli Array. Lavorare con gli Array. Questa lezione sarà una delle più importanti del corso. Cercheremo di farvi capire come sfruttare in maniera efficiente gli array in PHP e illustreremo le funzioni con cui avrete a che fare più spesso (le funzioni dedicate agli array sono davvero molte!). Definire un array. Abbiamo già visto nelle precedenti lezioni come definire un array. Rivediamole un attimo : $myarray=array( Domenico, Roberto, Stefano ); Definisce un array di tre elementi, indicizzati nel seguente modo : $myarray[0] contiene Domenico $myarray[1] Roberto $myarray[2] Stefano Avremmo potuto definire l array precedente anche nel seguente modo : $myarray[]= Domenico ; $myarray[]= Roberto ; $myarray[]= Stefano ; Altra funzione utile per costruire un array è la funzione explode() : $nomi= Domenico,Roberto,Stefano ; $myarray=explode(,,$nomi); La funzione explode() suddivide una stringa in un array. Alla funzione, oltre alla stringa, viene passato anche il carattere utilizzato come separatore (nel nostro caso una virgola). Array associativi. Se si vuole definire un array ed indicizzarlo in base ad una chiave diversa da un indice numerico, bisogna ricorrere agli array associativi. Facciamo qualche esempio di array associativo e definiamone uno : $myarray[programmatore]= Domenico ; $myarray[designer]= Roberto ; $myarray[commerciale]= Stefano ; Come potete osservare, nel caso in cui bisogna indicizzare in maniera logica un array, gli array associativi tornano molto utili. L esempio precedente mostra una definizione diretta di array associativo. Utilizziamo ora la funzione array() : $myarray=(programmatore=> Domenico,designer=> Roberto,commerciale=> Stefano ); $print $myarray[programmatore]; Il codice di cui sopra dovrebbe stampare la stringa Domenico.

21 Matrici. Diamo ora un semplice assaggio della potenza di questo tipo di indicizzazione, mostrando anche un paio di funzioni di accesso molto utili. Supponiamo di avere un array associativo contenente gli stipendi stimati per varie categorie di professionisti ed avere a disposizione ancora l array definito precedentemente in maniera associativa. $stipendi=(programmatore=> ,designer=> ,commerciale=> ); $myarray=(programmatore=> Domenico,designer=> Roberto,commerciale=> Stefano ); while (list($funzione,$compenso) = each($stipendi)) { print $myarray[$funzione] ha uno stipendio stimato di $compenso\n\n ; Questo spezzone di codice mostra due funzioni interessanti : list() e each(). La funzione list assegna alle variabili passate come argomento i valori di destra : list($val1,$val2,$val3) = $myarray; L istruzione assegna alle variabili $val1 etc. gli elementi dell array $myarray. Il comando each(), invece, viene spesso abbinato all uso di list(), solitamente in un ciclo. Tale funzione scorre tutti gli elementi dell array datogli come argomento. Se l array è associativo bisogna utilizzare list() e each() nel modo seguente : Sintassi: list($key,$val) = each($array_associativo); Ad ogni passo, $key e $val conterranno rispettivamente la chiave ed il valore degli elementi dell array. Utilizzato in un ciclo while, la funzione restituisce FALSE quando non trova più elementi da scorrere e fa così terminare il ciclo. Nell esempio di sopra, quindi, verranno visualizzate delle stringhe del tipo : Domenico ha uno stipendio stimato di Questo per ogni elemento degli array. Infatti, la variabile $funzione contiene, ad ogni iterazione, la chiave usata per indicizzare l array, che sarà del tipo programmatore, designer e commerciale. Grazie ad essa, è possibile accedere al singolo elemento dell array $myarray, il quale usa le stesse chiavi per indicizzare i suoi elementi. Matrici. Fin qui abbiamo trattato array monodimensionali. Alcune volte può tornare utile ricorrere ad array bidimensionali (matrici a due dimensioni) o multidimensionali. Nel caso bidimensionale, ad esempio : $biarray=array(array(1,2),array(12,1),array(23,7)); print $biarray[2][1]; L istruzione print darà come output il numero 7. Un array multidimensionale può contenere anche array associativi ed essere esso stesso un array di tale tipo. A questo punto inutile dirvi che l unica limitazione è la vostra fantasia e la vostra intuizione per adoperare al meglio queste strutture.

22 Lezione 6 Lavorare con gli Array. Altre funzioni per lavorare con gli array. Le funzioni relative agli array sono circa una cinquantina. Noi analizzeremo quelle, a nostro avviso, più utili e ricorrenti. La funzione count() accetta come parametro un array restituisce il numero degli elementi contenuti in tale array. In PHP4 è stata introdotta la funzione foreach, la quale permette di effettuare un ciclo per scorrere array indicizzati numericamente e in maniera associativa. Per gli array indicizzati numericamente bisogna usare foreach nel seguente modo : sintassi: foreach($myarray as $temp) {...istruzioni... Nella variabile $temp viene memorizzato temporaneamente il valore corrente estratto dall array. $myarray è, ovviamente, l array su cui stiamo lavorando. Per array associativi invece : foreach($myarray as $key=>$value) {...istruzioni... Come potete facilmente intuire, con questa funzione possiamo evitare l uso di list() e each() in un ciclo while per scorrere un array associativo. Infatti, foreach() scorre ogni elemento di un array associativo fino alla fine, estraendo volta per volta le coppie chiave=>valore, memorizzate temporaneamente in due variabili (nell esempio $key e $value). Rivisitando l esempio fatto in precedenza : $stipendi=(programmatore=> ,designer=> ,commerciale=> ); $myarray=(programmatore=> Domenico,designer=> Roberto,commerciale=> Stefano ); foreach($stipendi as $funzione=>$compenso) { print $myarray[$funzione] ha uno stipendio stimato di $compenso\n\n ; Più leggibile di una combinazione while,list e each! In ogni caso, avrete a che fare con del codice scritto in PHP3 o in PHP4 in cui saranno sicuramente presenti cicli di questo genere. Per rimuovere un elemento da un array possiamo usare l ìstruzione unset() : $array=array(1,45,23,22); unset($array[2]); In questo caso l array sarà costituito nel seguente modo : $array[0] $array[1]

23 Altre funzioni per lavorare con gli array. $array[3] Notate come restano indicizzati gli elementi. Infatti, sarebbe possibile definire un array anche nel seguente modo : $array[8]=34; $array[140]=77; Naturalmente è sconsigliato operare in tal modo. In PHP4 è stata introdotta anche un altra funzione molto utile : in_array(), che verifica l esistenza di un dato elemento all interno di un array. La sintassi è la seguente : Sintassi: in_array($elemento,$array) Essa restituisce un valore booleano (FALSE o TRUE), a seconda o meno dell esistenza dell elemento nell array indicato. Tramite le funzioni sort(), rsort(), asort() e ksort() è possibile ordinare array indicizzati numericamente ed associativamente. sort($array) viene utilizzata con array indicizzati numericamente e restituisce lo stesso array ma ordinato (alfabeticamente o numericamente a seconda del tipo di dati degli elementi dell array). La funzione rsort($array), invece, effettua un ordinamento invertito rispetto alla sua funzione gemella. Per ordinare gli array associativi abbiamo due funzioni : asort($array) e ksort($array). La prima ordina un array associativo per valore, mentre ksort($array) ordina un array associativo per chiave. Esistono anche qui le controparti che effettuano un ordinamento invertito (arsort() e krsort() ). Per ordinare array multidimensionali esiste la funzione array_multisort(). Più avanti nel corso, avremo occasione di studiare parecchi esempi in cui gli array sono usati in maniera insostituibile! Non perdetevi la prossima lezione sulle stringhe! 2002 By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

24 Lezione 7 Lavorare con le stringhe. Lavorare con le stringhe. Uno degli aspetti che dona a PHP tanta popolarità è la sua capacità di manipolazione di stringhe. Dal manuale ufficiale PHP contiamo più di 60 funzioni dedicate alle stringhe! Anche questa volta, cercheremo di concentrarci su quelle che probabilmente vi serviranno più di frequente rispetto ad altre, fornendo esempi utili che potrete riutilizzare nei vostri script. Formattazione. Tramite le funzioni printf() e sprintf() è possibile visualizzare i nostri dati secondo formati specifici. Se i dati che stiamo trattando sono numerici possiamo visualizzarli (convertendoli) in base binaria, base decimale, base esadecimale, definire la precisione (il numero di cifre decimali) di un numero Se i dati sono stringhe alfanumeriche possiamo definire la larghezza di un campo, inserire spazi di riempimento, disegnare box con poche istruzioni Tutto ciò sarà chiaro osservando i prossimi esempi proposti : $mynumber=18; $printf( Decimale : %d\n,$mynumber); Il risultato nel browser sarà semplicemente la stampa del numero in formato decimale. Volendo visualizzare il numero in diversi formati, dobbiamo sostituire la specifica di tipo d con i seguenti caratteri : Specifica di tipo Formato D Decimale B Binario C ASCII F Floating Point O Ottale S Stringa X Esadecimale (minuscolo) X Esadecimale (maiuscolo) printf() può stampare più dati in una sola istruzione : $printf( Decimale : %d<br> Esadecimale: %X, $mynumber, $mynumber); Vediamo come visualizzare i nostri dati numerici non interi con un numero prefissato di cifre dopo la virgola : $lire=540000; $euro=$lire/ ; printf("%.2f",$euro); Con la specifica %.2f diciamo alla funzione printf() di effettuare un arrotondamento alla seconda cifra decimale. Infatti, il risultato visualizzato sarà

25 Lezione 7: Lavorare con le stringhe La seguente tabelle riassume i vari tipi di specifica che possiamo utilizzare in printf() : Nome specifica Descrizione Esempio Specifica di tipo Determina il formato ed il tipo d dei dati da visualizzare. Specifica di precisione Numero di cifre decimali a cui.2 arrotondare un numero non intero Specifica di riempimento Determina caratteri di 04d riempimento e larghezza minima dell output Specifica di larghezza di campo Larghezza del campo in cui si vuole visualizzare l output 20 Vediamo un esempio per la specifica di riempimento : printf( %06d,250); Stampa Infatti il numero occupa meno spazi di quelli previsti; i restanti vengono riempiti con il carattere 0. Se si vuole utilizzare un altro carattere, diverso dallo 0 e dallo spazio, bisogna anteporre al carattere voluto un apice : printf( % #6d,250); Stampa ###250. Per quanto riguarda le specifiche di riempimento : printf( %-15s%15s, Professione, Compenso ); La specifica %-15s stampa la stringa Professione in un campo di 15 caratteri con allineamento a sinistra. %15s stampa Compenso con allineamento a destra. Le specifiche di riempimento sono molto utili quando si vogliono stampare più righe in maniera ordinata, in campi della stessa larghezza appunto. Infatti, un altra istruzione simile, con le stesse specifiche di riempimento, produrrà la stampa alla riga successiva di due stringhe perfettamente allineate con quelle superiori. Come ultimo esempio riportiamo le istruzioni per visualizzare un quadrato in cui viene riportato un messaggio: printf( % -60s+\n, ); printf( %20s, Titolo Box: ); printf( %14s, Messaggio: ); printf( %26s \n, ); printf( % -60s+\n, ); La prima e l ultima istruzione stampano 60 caratteri -. Infatti si è applicata una specifica di riempimento ad una stringa vuota. Funzione sprintf(). Per quanto riguarda la funzione sprintf(), l unica differenza con la printf() è il fatto che questa funzione ritorna il valore, in modo da essere memorizzato in una variabile :

26 Lezione 7 Lavorare con le stringhe. $linea= sprintf( % -60s+\n, ); print $linea ; Ottenere informazioni sulle stringhe. PHP fornisce molte funzioni utili per l analisi delle stringhe. Elenchiamo le più importanti, mostrando allo stesso tempo qualche semplice esempio. Per conoscere la lunghezza di una stringa, si utilizza la funzione strlen() nel seguente modo : Sintassi: $length=strlen($stringa) Il seguente pezzo di codice controlla che la lunghezza di un nome utente inserito non sia superiore agli otto caratteri : if (strlen($userid) > 8) { $message= Il nome utente non deve superare gli otto caratteri ; else { $message= L userid scelto è stato memorizzato correttamente ; Tramite la funzione substr() si può estrarre un sottoinsieme della stringa in esame : Sintassi : $sub=substr($stringa,$index,$lenght) La variabile $index fornisce l indice del carattere da cui si parte per estrarre la sottostringa, mentre $lenght è il numero di caratteri da estrarre. Se tale parametro viene omesso, la funzione substr() estrae tutti i caratteri fino alla fine partendo da $stringa[$index] (infatti, le stringhe possono essere riviste come array di caratteri). Se $index è negativo, il numero di caratteri da cui partire viene contato dalla fine anziché dall inizio. $stringa= Testing ; print substr($stringa,3). <br> ; print substr($stringa,3,3). <br> ; print substr($stringa,-3). <br> ; L output sarà del tipo : ting tin ing Altra funzione utile è strstr(), che verifica la presenza di una sottostringa all interno di una stringa passata come argomento, restituendo un valore booleano.

27 Lezione 7: Lavorare con le stringhe if )) { $message= Non hai inserito un indirizzo corretto ; La funzione strstr() è case-sensitive, nel senso che fa differenza fra lettere maiuscole e minuscole. Per i casi in cui ciò non è necessario, possiamo utilizzare la funzione stristr(), la quale è case-insensitive. Nota: Nella prossima lezione analizzeremo degli strumenti più potenti per la verifica dell appartenenza di una stringa ad un determinato insieme di stringhe. Manipolazione. Effettuiamo adesso una carrellata delle principale funzioni di manipolazione di stringhe, le quali saranno indispensabili in parecchi casi. $nominativo= Domenico nappo ; print strtoupper($nominativo). <br> ; print strtolower($nominativo). <br> ; print ucwords($nominativo). <br> ; L output sarà il seguente: DOMENICO NAPPO domenico nappo Domenico Nappo La funzione ucfirst() invece, setta a maiuscolo soltanto il primo carattere di una stringa. Per eliminare spazi bianchi in una stringa, PHP mette a disposizione quattro funzioni : o o o o trim() : Rimuove gli spazi all inizio e alla fine della stringa. ltrim(): Rimuove gli spazi soltanto all inizio della stringa. rtrim(): Rimuove gli spazi alla fine. chop() :Identica a rtrim(). La funzione htmlentities() converte tutti i caratteri codificabili in HTML di una stringa : $stringa= By O Neil & GoodWin ; $new=htmlentities($stringa); $new_new=htmlentities($stringa,ent_quotes); Come potete osservare, la funzione accetta un parametro opzionale. Le variabili $new e $new_new conterranno : $new contiene By O Neil & GoodWin $new_new contiene By O&#039;Neil & GoodWin Una funzione importantissima è la str_replace(), che effettua una sostituzione di testo. Sintassi: $string_replaced=str_replace($old.$new,$string);

28 Lezione 7 Lavorare con le stringhe. Immaginiamo di gestire un catalogo online. Per ogni prodotto abbiamo a disposizione due foto, una in formato mini e l altra ad una grandezza maggiore, che permette di osservare i dettagli a chi è interessato. Nel database memorizziamo soltanto le immagini nella forma immagini/prodotto_mini.jpg. Le immagini a grandezza maggiore si trovano nella stessa cartella e sono nominate come prodotto.jpg. Osserviamo il seguente codice : $immagine= telefonini/nokia3330_mini.jpg ; echo <a href=\ immagine.php?img=$immagine\ target=\ _blank\ ><img src=\ $immagine\ ></a> ; Nel file immagine.php sarà presente il seguente codice : <?PHP // ingrandisci immagine $big_image=str_replace("_mini.jpg",".jpg",$img); echo" <HTML><HEAD><TITLE>Telefonino</TITLE></HEAD> <BODY> <img src=\"$big_image\"> </BODY></HTML>";?> L istruzione $big_image=str_replace("_mini.jpg",".jpg",$img) memorizza nella variabile $big_image la stringa telefonini/nokia_3310.jpg. Notate nel codice precedente in che modo viene passata la variabile $immagine al file immagine.php. <a href=\ immagine.php?img=$immagine\ target=\ _blank\ > Il testo dopo? identifica una querystring. Tale querystring consta di coppie nome=valore. Il nome img sarà la variabile $img nello script a cui è stata passata la variabile, e conterrà il valore passato (in questo caso il contenuto di $immagine). E bene prendere familiarità con questo tipo di operazioni, poiché fanno parte dell essenza della programmazione web lato server. Nella prossima lezione parleremo delle espressioni regolari! Cosa sono e a che servono? Boh! 2002 By Domenico Nappo aka WebdoM. L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.

29 Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile verificare, ad esempio, se un codice fiscale o un indirizzo sono stati inseriti correttamente. Infatti, le funzioni viste la volta scorsa non sono molto flessibile e potenti come lo strumento che vedremo in questa lezione. E bene dire però, che l uso delle espressioni regolari porta un sensibile overhead di esecuzione; quindi, dove è possibile usare le funzioni dedicate alle stringhe è inutile utilizzare le espressioni regolari, che portano un aumento del tempo di esecuzione. PHP supporta sia le espressioni regolari che seguono lo standard POSIX sia quelle stile Perl (Perl regular expressions). Noi ci occuperemo del primo gruppo. Daremo comunque un cenno anche alle espressioni regolari Perl, più complicate da apprendere ma anche più potenti. Corrispondenze e classi di caratteri. Con la funzione ereg() si possono intercettare le corrispondenze di modelli nelle stringhe. La sintassi della funzione è la seguente : Sintassi: $res = ereg( modello,$stringa,$array); La funzione ereg() restituisce il numero di caratteri trovati nelle corrispondenze e memorizza in $array le corrispondenze trovate nella variabile $stringa, in base al modello usato. La difficoltà nell uso delle espressioni regolari sta proprio nel capire la sintassi dei modelli. Essi possono essere semplici caratteri, contenere quantificatori, classi di caratteri. Ad esempio : $num=ereg( gio, ciao Gigio,$array); print $num. ---.$array[0]; L output sarà 3---gio. Per apprezzare però le qualità delle regular expressions si osservi attentamente la seguente tabella : Simbolo Funzione Esempio. Qualsiasi carattere g. successivo.? Nessuna o una istanza del g? carattere. * Nessuna o più istanze del g* carattere. + Una o più istanze. g+ {n Esattamente n istanze g{2 successive del carattere. {n, n o più istanze. g{2, {,n Al massimo n istanze. g{,3 {n,m Trova le corrispondenze g{2,3 con almeno n istanze ma

30 Corrispondenze e classi di caratteri. al massimo m istanze. Prima di far vedere qualche esempio utile, bisogna parlare delle classi di caratteri. Le classi permettono di trovare le corrispondenze di un carattere appartenente ad una determinata classe, come un numero, un carattere alfabetico e così via. Nella tabella sono riportati esempi di classi : Classe Descrizione Esempio [a-z] Trova tutti i caratteri minuscoli. [a-z]{4 : Trova un gruppo di 4 caratteri minuscoli. [A-Z] Trova i caratteri maiuscoli. [A-Z]+ : Trova una o più istanze di un carattere maiuscolo. [0-9] Trova un numero. [0-9]{5 : Trova un gruppo di 5 numeri (ad esempio un CAP). [^0-9] Trova tutto ciò che è diverso da un numero. [^0-9]* : Trova tutto ciò che non è un numero. Parliamo ora di atomi. Racchiudendo fra parentesi un modello e sfruttando i simboli quantificatori visti nella prima tabella, è possibile formulare complesse espressioni regolari. A titolo di esempio, riportiamo vari blocchi di codice per controllare, ad esempio, dei dati ricevuti dall utente tramite un form HTML (parleremo più avanti nel corso come inviare dati ad uno script PHP tramite i form) : if ((empty($nominativo)) (ereg("[^a-za-z\ ]+",$nominativo,$array))) { print $nominativo. Non è un dato corretto ; Come vedete, se la variabile $nominativo è vuota o all interno sono stati trovate una o più corrispondenze di caratteri non alfabetici (compreso lo spazio), viene segnalato un messaggio di errore. if ((empty($ )) (ereg("([\ \<\>\\\/]+)",$ ,$array))) { print $ . Non è un indirizzo corretto ; Non spaventatevi!;) L istruzione if precedente dovrebbe essere scritta su una sola riga. Analizziamo con calma l espressione booleana. Se $ è vuota oppure è diversa dal modello descritto in ereg(), viene segnalato errore. Il modello può essere spiegato semplicemente nel seguente modo : il primo atomo verifica una o più occorrenze di caratteri alfanumerici, compreso il punto (si noti il carattere di escape \ davanti al punto, per evitare che ci sia ambiguità con il carattere di controllo visto prima). Il secondo atomo si accerta della presenza di un unica occorrenza del Il terzo atomo e quarto atomo verificano la presenza di almeno 2 occorrenze di caratteri alfanumerici, seguiti da un punto,e seguiti ancora da almeno 2 caratteri alfanumerici.

31 Lezione 8 Le espressioni regolari. Manipolazione di stringhe tramite le RE. La seconda chiamata ad ereg() serve per controllare che non siano presenti caratteri strani del tipo <,>,\,,/ (tutti preceduti da caratteri di escape), per evitare manovre strane da utenti maliziosi. Questa purtroppo non è la sede adatta per parlare di problemi di sicurezza, ma vi consiglio caldamente di approfondire l argomento se volete intraprendere la carriera del programmatore web professionista. Non avete idea di quanti portali (del valore anche di centinaia di milioni) sono vulnerabili non per via del software utilizzato, come un particolare server web, ma per colpa di una cattiva programmazione o gestione del sito (su molti siti è possibile visualizzare user e password di connessione al database in chiaro, e la cosa grave è che alcuni utilizzano le stesse password sia per accedere alle cartelle del sito via ftp che per connettersi al database!!!). Adesso un altro esempio utile : if ((empty($codice)) (!ereg("([a-za-z]){6([0-9]){2([a-za-z]){1([0-9]){2([aza-z]){1([0-9]){3([a-za-z]){1",$codice,$array))) { print $codice. Non è un codice fiscale corretto ; Conoscendo la struttura di un codice fiscale, è possibile scrivere un semplice modello per un espressione regolare che verifichi la correttezza di questo dato. Infatti, un corretto codice fiscale può essere MDNTMS68C23E101W. Come potete osservare, l espressione regolare rispecchia fedelmente la struttura, cioè prima sei caratteri alfabetici, poi due cifre decimali etc. etc. Manipolazione di stringhe tramite le RE. Una funzione molto utile è la ereg_replace(), per sostituire modelli nelle stringhe. L unica differenza con ereg(), è il fatto che ereg_replace(), oltre a trovare le corrispondenze, effettua anche una sostituzione, ritornando la stringa manipolata : Sintassi: $stringa_res=ereg_replace(modello,replacement,$stringa); Tralasciando il semplice esempio di sostituzione di stringa (effettuabile più efficacemente con la funzione str_replace() vista nella scorsa lezione), introduciamo anche l uso dei riferimenti all indietro con ereg_replace(). Si racchiudono tra parentesi i singoli elementi di espressione regolare. Nel replacement, ognuno di essi sarà identificato da un numero intero di sequenza. Ad ogni atomo di espressione regolare, è possibile applicare una diversa sostituzione. Presentiamo un esempio classico: convertiamo una data in formato mm/gg/aaaa in gg/mm/aaaa : $date=02/28/2002; $data=ereg_replace( ([0-9]+)/([0-9]+)/ ([0-9]+),\\2/\\1/\\3,$date); $data conterrà la stringa 28/02/2002.

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

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

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi: JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript

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

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

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

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

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

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

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

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

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/introdu zione-allo-sviluppo-web 2 Esame Esame

Dettagli

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3)

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3) Gli Array! Gli Array sono una delle funzioni più interessanti e flessibili.! A differenza degli altri linguaggi.! Gli array di PHP possono archiviare dati di vari tipi.! Possono organizzarli automaticamente

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

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. 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 Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

MODULO 3. Microsoft Excel. TEST ED ESERCIZI SU: http://www.informarsi.net/ecdl/excel/index.php

MODULO 3. Microsoft Excel. TEST ED ESERCIZI SU: http://www.informarsi.net/ecdl/excel/index.php MODULO 3 Microsoft Excel TEST ED ESERCIZI SU: http:///ecdl/excel/index.php Foglio Elettronico - SpreadSheet Un foglio elettronico (in inglese spreadsheet) è un programma applicativo usato per memorizzare

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica 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

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

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

INTERNET EXPLORER Breve manuale d uso

INTERNET EXPLORER Breve manuale d uso INTERNET EXPLORER Breve manuale d uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE... 3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

SMS IN. Rules SMS IN. Rules. Geodrop. Geodrop

SMS IN. Rules SMS IN. Rules. Geodrop. Geodrop SMS IN Rules SMS IN Rules } Geodrop Geodrop SMS In 2.3 Regole per la manipolazione dei messaggi Guida alla scrittura di condizioni complesse Guida alle condizioni complesse v1.0-it, 7 Dicembre 2012 Indice

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

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

CREAZIONE DI UN DB RELAZIONALE IN ACCESS

CREAZIONE DI UN DB RELAZIONALE IN ACCESS CONTENUTI: CREAZIONE DI UN DB RELAZIONALE IN ACCESS Definizione della chiave primaria di una tabella Creazione di relazioni fra tabelle Uso del generatore automatico di Query A) Apertura del DB e creazione

Dettagli

INDICE PROGRAMMA CORSO

INDICE PROGRAMMA CORSO INDICE PROGRAMMA CORSO PRIMA LEZIONE: Componenti di un computer: Hardware, Software e caratteristiche delle periferiche. SECONDA LEZIONE: Elementi principali dello schermo di Windows: Desktop, Icone, Mouse,

Dettagli

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Scopo di questo approfondimento Lo scopo di questo approfondimento è rispondere alla domanda: e se nella vita mi troverò a dover utilizzare un linguaggio

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

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

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Introduzione all'uso di

Introduzione all'uso di Introduzione all'uso di Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica.

Dettagli

La posta elettronica. ICT per la terza età Le video lezioni della Fondazione Mondo Digitale

La posta elettronica. ICT per la terza età Le video lezioni della Fondazione Mondo Digitale La posta elettronica ICT per la terza età Le video lezioni della Fondazione Mondo Digitale Diapositiva Introduzione Posta elettronica E mail Elettronica Posta In questo argomento del nostro corso impareremo

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

Introduzione a PHP: Concetti Fondamentali

Introduzione a PHP: Concetti Fondamentali Introduzione a PHP: Concetti Fondamentali Davide Rocker Anastasia 20 dicembre 2005 Sommario Dopo alcuni anni di riflessione, riprende il mio percorso personale sul PHP. Questo breve documento parlerà dei

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

IMSV 0.8. (In Media Stat Virtus) Manuale Utente

IMSV 0.8. (In Media Stat Virtus) Manuale Utente Introduzione IMSV 0.8 (In Media Stat Virtus) Manuale Utente IMSV è una applicazione che calcola che voti può'prendere uno studente negli esami che gli mancano per ottenere la media che desidera. Importante:

Dettagli

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato

Dettagli

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Manuale Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Premessa Gestione Biblioteca scolastica è un software che permette di gestire in maniera sufficientemente

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Corso html 5. Di Roberto Abutzu. *********** Terza parte: Prime nozioni: Tag e prima pagina, continuazione. **********

Corso html 5. Di Roberto Abutzu. *********** Terza parte: Prime nozioni: Tag e prima pagina, continuazione. ********** Corso html 5. Di Roberto Abutzu. *********** Terza parte: Prime nozioni: Tag e prima pagina, continuazione. ********** Prime nozioni: Tag e prima pagina, continuazione. Nota bene, al fine di avere anche

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

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Javascript: il browser

Javascript: il browser Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

EXCEL FINESTRA DI EXCEL BARRE PRINCIPALI CARTELLA DI LAVORO BARRE DI SPOSTAMENTO

EXCEL FINESTRA DI EXCEL BARRE PRINCIPALI CARTELLA DI LAVORO BARRE DI SPOSTAMENTO EXCEL FINESTRA DI EXCEL BARRE PRINCIPALI CARTELLA DI LAVORO BARRE DI SPOSTAMENTO BARRE PRINCIPALI GESTIONE FILE BARRA DEI MENU BARRA STANDARD Nuovo: si crea un nuovo foglio Apri: si carica un foglio da

Dettagli

MediaWiki. Giuseppe Frisoni

MediaWiki. Giuseppe Frisoni MediaWiki Giuseppe Frisoni MediaWiki: costruire insieme 1/2 L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata.

Dettagli

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

UTILIZZARE I SINOTTICI NEL PROGRAMMA DI TELEGESTIONE SWC701

UTILIZZARE I SINOTTICI NEL PROGRAMMA DI TELEGESTIONE SWC701 UTILIZZARE I SINOTTICI NEL PROGRAMMA DI TELEGESTIONE SWC701 GENERALITÁ I sinottici sono disegni che rappresentano graficamente uno o più impianti tecnici. Questi disegni sono completi di tutti gli accessori

Dettagli

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore

Dettagli

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script. I file in PHP Un file è un archivio elettronico contenente informazioni (dati) memorizzate su memoria di massa. Il file ha la caratteristica di consentire la lettura, la scrittura e la modifica dei dati

Dettagli

Lezione nr. 3. >> Le basi della tecnologia PHP per scrivere applicazioni per il web.

Lezione nr. 3. >> Le basi della tecnologia PHP per scrivere applicazioni per il web. Lezione nr. 3 >> Le basi della tecnologia PHP per scrivere applicazioni per il web. Ciao, spero tu abbia installato l editor di testo preferito o quello che ti ho consigliato e che tu sia riuscito a creare

Dettagli

INTERNET EXPLORER. Breve manuale d'uso

INTERNET EXPLORER. Breve manuale d'uso INTERNET EXPLORER Breve manuale d'uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE...3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

SoftWare DMGraphics. Indice. Manuale d uso. 1) Introduzione. 2) Pagine grafiche. 3) Grafici. 4) Menù

SoftWare DMGraphics. Indice. Manuale d uso. 1) Introduzione. 2) Pagine grafiche. 3) Grafici. 4) Menù SoftWare DMGraphics Manuale d uso Indice 1) Introduzione 2) Pagine grafiche. 2.1) Pagina grafica 2.2) Concetti generali 2.3) Scale dei valori 2.4) Posizionamento elementi nel grafico 3) Grafici 3.1) Grafici

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese.

SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese. Presentazione: SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese. Il programma si distingue per la rapidità e l elasticità del processo di gestione

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

Bisanzio Software Srl AMICA IMPORTA. Come importare dati nella famiglia di prodotti AMICA GESTIONALE (www.amicagestionale.it)

Bisanzio Software Srl AMICA IMPORTA. Come importare dati nella famiglia di prodotti AMICA GESTIONALE (www.amicagestionale.it) Bisanzio Software Srl AMICA IMPORTA Come importare dati nella famiglia di prodotti AMICA GESTIONALE (www.amicagestionale.it) Nicola Iarocci 10/05/2010 AMICA IMPORTA Stato del documento: BOZZA Stato del

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

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

Manuale di istruzioni

Manuale di istruzioni Manuale di istruzioni GESTIRE IL MERCATO ONLINE Pagina La Pagina Centrale...1 L Area di Lavoro...1 Inserimento dei vostri prodotti...2 Trovare offerte e richieste...3 Fare e ricevere proposte...4 Accettare

Dettagli

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte.

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Continuiamo la parte che completerà la trattazione dei link, andando ad operare direttamente

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione al linguaggio PHP Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione a PHP PHP è un linguaggio di programmazione general-purpose che viene utilizzato in larga parte

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

LEZIONE 5. Sommario LEZIONE 5 CORSO DI COMPUTER PER SOCI CURIOSI

LEZIONE 5. Sommario LEZIONE 5 CORSO DI COMPUTER PER SOCI CURIOSI 1 LEZIONE 5 Sommario QUINTA LEZIONE... 2 POSTA ELETTRONICA... 2 COSA SIGNIFICA ACCOUNT, CLIENT, SERVER... 2 QUALE CASELLA DI POSTA SCEGLIAMO?... 2 QUANDO SI DICE GRATIS... 3 IMPOSTIAMO L ACCOUNT... 3 COME

Dettagli

Il foglio elettronico

Il foglio elettronico Il foglio elettronico Foglio di calcolo, Spreadsheet in inglese, Permette di elaborare DATI NUMERICI. E una TABELLA che contiene numeri che possono essere elaborati con FUNZIONI matematiche e statistiche.

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

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

Quando lanciamo il programma, ci si presenterà la maschera iniziale dove decideremo cosa vogliamo fare.

Quando lanciamo il programma, ci si presenterà la maschera iniziale dove decideremo cosa vogliamo fare. SOFTWARE CELTX Con questo tutorial cercheremo di capire, e sfruttare, le potenzialità del software CELTX, il software free per la scrittura delle sceneggiature. Intanto diciamo che non è solo un software

Dettagli

1 di 17 14-01-2009 18:14

1 di 17 14-01-2009 18:14 14 gen 2009 Stampa articolo 48 Commenti [Modifica] Corso interattivo di programmazione per iphone: I Lezione Corso Inglese Online Facile, Rapido e Divertente Corso a distanza. Provalo Gratis! ABAEnglish.com

Dettagli

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014 LUdeS Informatica 2 EXCEL Prima parte AA 2013/2014 COS E EXCEL? Microsoft Excel è uno dei fogli elettronici più potenti e completi operanti nell'ambiente Windows. Un foglio elettronico è un programma che

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione.

9) si ritorna alla maschera di fig. 6, nella quale si clicca su Salva modifiche per completare l operazione. Fig. 8 La finestra Gestione file con il file appena caricato 9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione. Fig. 9 Il corso con la nuova

Dettagli

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere Procedura per creare un archivio storico remoto nelle 24 ore giornaliere La seguente procedura ha lo scopo di illustrare il metodo di creazione di un archivio storico fotografico nell arco delle 24 ore

Dettagli

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat www.dimi.uniud.it/burigat File HTML e tag Un file HTML non è nient'altro che un puro file di testo al cui interno sono presenti delle

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo Il linguaggio PHP Parte I Introduzione Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it A.A. 2010/2011 Paolo Milazzo (Università di Pisa)

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