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

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("([a-za-z0-9\.]+)(@{1)([a-za-z0-9]{2,)\.([a-za-z0-9]{2,)",$ ,$array)) (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

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

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

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

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

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

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

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

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

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

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

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

Manuale Utente Amministrazione Trasparente GA

Manuale Utente Amministrazione Trasparente GA Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione

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

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il

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

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

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

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox.

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox. Oggi parlerò di qualcosa che ha a che fare relativamente con la tecnica fotografica, ma che ci può dare una mano nella gestione dei nostri archivi digitali, soprattutto nel rapporto professionale con altre

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

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

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

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

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

3. Installare Wamp Server

3. Installare Wamp Server E107 WEB SYSTEM Corso on line di progettazione siti dinamici: livello base R E A L I Z Z A Z I O N E D I 3. Installare Wamp Server By e107 Italian Team Sito web:http://www.e107italia.org Contatto: admin@e107italia.org

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

FORMULE: Operatori matematici

FORMULE: Operatori matematici Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere

Dettagli

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL) COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL) Cos è l AOL? Pag. 2 Come inviare una richiesta AOL Pag. 3 La risposta dell assistenza Pag. 5 Come rispondere ad una risposta AOL Pag. 7 Ulteriori nozioni

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Cimini Simonelli - Testa

Cimini Simonelli - Testa WWW.ICTIME.ORG Joomla 1.5 Manuale d uso Cimini Simonelli - Testa Il pannello di amministrazione Accedendo al pannello di amministrazione visualizzeremo una schermata in cui inserire il nome utente (admin)

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Guida informatica per l associazione #IDEA

Guida informatica per l associazione #IDEA Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti

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

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia Utilizzo del Forum NEWS Il forum news è stato pensato per dare ad ogni associazione la possibilità di pubblicare una pagina di novità all intero del proprio sito (scheda o pagina autocomposta). E la sezione

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Una piattaforma per creare blog, che utilizza il linguaggio PHP e si

Una piattaforma per creare blog, che utilizza il linguaggio PHP e si 1^ Puntata WordPress è un ottimo CMS (Content Management System) Una piattaforma per creare blog, che utilizza il linguaggio PHP e si avvale di un database Mysql. Un CMS è quindi un sistema di gestione

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

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

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

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

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può

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

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) Se la Suite risulta già stata installata e quindi sono già presenti le configurazioni di seguito indicate, si prega di andare direttamente alla fine

Dettagli

ENTRARE NEL SISTEMA. Clicca su Entra per entrare nel sistema. PAGINA 1

ENTRARE NEL SISTEMA. Clicca su Entra per entrare nel sistema. PAGINA 1 ENTRARE NEL SISTEMA Clicca su Entra per entrare nel sistema. PAGINA 1 ENTRARE NEL SISTEMA Compare il box di LOGIN in cui inserire il nome utente e la password fornite tramite posta elettronica dall indirizzo

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

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

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004 MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004 PRELIMINARE - Avete digitato la password che Vi è stata attribuita e siete entrati nell area riservata all AMMINISTRAZIONE del Vostro

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

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

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

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili 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 Corso 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

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

STAMPA DI UNA PAGINA SEMPLICE

STAMPA DI UNA PAGINA SEMPLICE Pagina 11 copiati nel proprio sistema (disco fisso o floppy). Questa operazione è detta download o scaricamento. Il modo più semplice per effettuare un download di un file (a meno che non sia specificato

Dettagli

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Servizio on-line di Analisi e Refertazione Elettrocardiografica Servizio on-line di Analisi e Refertazione Elettrocardiografica Guida utente Scopo del servizio... 2 Prerequisiti hardware e software... 3 Accesso all applicazione... 4 Modifica della password... 7 Struttura

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Office 2007 Lezione 02. Le operazioni più

Office 2007 Lezione 02. Le operazioni più Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Guida all uso del sito E Commerce Axial Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Innanzitutto,

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara.

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara. Piccolo Manuale Manuale Pt 1ª Registrazione (Login) Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara. Riceverete una email contenente: Link della vostra

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Amministrazione gruppi (Comunità)

Amministrazione gruppi (Comunità) Amministrazione gruppi (Comunità) Guida breve per il docente che amministra il gruppo Premessa Di regola i gruppi sono creati all interno della Scuola. Nel caso in cui vi fosse la necessità di aprire un

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE Come accedere La login e la password vi arriverà nella casella di posta elettronica con una mail. Questi dati andranno inseriti in queste caselle

Dettagli

FtpZone Guida all uso Versione 2.1

FtpZone Guida all uso Versione 2.1 FtpZone Guida all uso Versione 2.1 La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente

Dettagli

COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE

COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE Con questa guida impareremo come eliminare delle singole zone del template che utilizziamo all'interno di una pagina specifica. Questo metodo torna utile

Dettagli

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli