07 PhP parte 1 AVVISI DI SERVIZIO. Materiale didattico. Apertura Wamp

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "07 PhP parte 1 AVVISI DI SERVIZIO. Materiale didattico. Apertura Wamp"

Transcript

1 Università dell Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali Como Corso di Laurea in Scienze e Tecnologie dell Informazione Lezioni di Linguaggi per il Web II A.A. 2011/ PhP parte 1 AVVISI DI SERVIZIO la lezione comincia alle ore 10 per esigenze di trasporto chi non è venuto a Linguaggi web I? il 10 maggio NON C E LEZIONE forse qualche volta si troverà la porta chiusa causa assenza di Fiorella all ingresso, cercherò di avvisare Dott. Roberto Marmo Linguaggi Web II - 05 PhP parte 1 2/74 libro di riferimento: Materiale didattico Programmazione Web lato server Della Mea, Di Gaspero, Scagnetto editore Apogeo ISBN: euro per scaricare i listati libro costruito per fare lezione in Università e contiene ampia panoramica di tecnologie Linguaggi Web II - 05 PhP parte 1 3/74 Il linguaggio PHP Il linguaggio PHP (PHP Hypertext Preprocessor) è un linguaggio di script (linguaggio di scripting è un linguaggio interpretato meno strutturato di un linguaggio di programmazione classico destinato a compiti di automazione del sistema, creazione di macro, in pagine web) lato server, viene cioè interpretato da una componente aggiuntiva del server web per applicazioni web. E un linguaggio free opensource indipendente dalla piattaforma, scaricabile da e supportato da numerose comunità online. Permette di interagire con vari database, tipicamente MySQL ma anche Oracle, Postgres e molti altri. E integrabile con numerose librerie esterne (grafica, mail, pdf etc) E stato introdotto da Lerdorf nel 1994 in linguaggio C per facile gestione delle pagine personali, da cui Personal Home Page La versione attuale è la 6 orientata agli oggetti. libro di testo: Cap. 3 Linguaggi Web II - 05 PhP parte 1 4/74 WAMP! WAMP è un acronimo con cui si indica una piattaforma di sviluppo web/database che prende il nome dalle iniziali Windows: il sistema operativo che deve essere già installato sul PC; Apache: il Web server; MySQL: il database management system (o database server) con SQL e tool grafici; Perl, PHP e/o Python: i linguaggi di scripting. WAMP è gratuito sotto la GNU General Public License. LAMP è quella adattata per GNU/Linux XAMPP è un pacchetto gratuito contentente Apache HTTP Server, il database MySQL e tutti gli strumenti per PHP e Perl. Linguaggi Web II - 05 PhP parte 1 5/74 notare icona verde in barra a destra regolazione del linguaggio con il tasto destro del mouse sulla icona vicino al "<" bianco libro di testo: Appendice C Apertura Wamp documentazione Linguaggi Web II - 05 PhP parte 1 6/74 1

2 Apertura Wamp menù attivato con il tasto sinistro del mouse cliccando sulla icona nella barra a destra phpmyadmin interfaccia web al database MySQL per verificare cosa viene inserito nelle bai dati segnalati problemi interferenza da antivirus Verifica localhost mettere il file.php nella cartella C:\wamp\www nel browser dare oppure per i Mac prima di usare il localhost bisogna lanciare il server Wamp altrimenti compaiono errori di collegamento Linguaggi Web II - 05 PhP parte 1 7/74 Linguaggi Web II - 05 PhP parte 1 8/74 Problemi WAMP adatto solo per esercitazioni e non per la realizzazione stabile di siti, in quanto non sono attivate tutte le misure di sicurezza necessarie, per esempio l utente principale di MySQL non ha password impostate indicazioni su uso WAMP ed altri editor PHP UwAmp 1.3 Un Server Wamp con Apache, MySQL, PHP e SQLite. Tutto l occorrente per installare in locale un web server per provare i propri siti/blog prima di metterli online. UwAmp è provvisto di un'interfaccia di gestione semplice e funzionale e può essere eseguito direttamente da pen drive USB. Linguaggi Web II - 05 PhP parte 1 9/74 Linguaggi Web II - 05 PhP parte 1 10/74 Editor NOTEPAD++ ideale per scrivere Risorse per apprendimento PHP corso visuale fino a livello da esperto imparare da esempi distributore di libri vedere i file cheat sheet con fogli di riepilogo istruzioni PHP, cercare su Google le parole "cheat sheet php" Linguaggi Web II - 05 PhP parte 1 11/74 Linguaggi Web II - 05 PhP parte 1 12/74 2

3 Rapid PHP realizzare pagine PHP con codice HTML, XHTML, CSS e JavaScript in maniera facile e veloce, diminuendo i tempi di svilupppo e aumentando la produttività strumenti disponibili tra cui quelli per eseguire il debug, la validazione, il riuso, la navigazione e la formattzione del codice Syntax highlighting per i linguaggi HTML, CSS, JavaScript, VBScript, PHP, ASP, WML, XML, Perl; supporto Unicode UTF-8 and UTF-16; Debug PHP code con xdebug debugger; SQL database connectivity (MySQL, PostgreSQL, Firebird, Interbase); autocompletamento del codice e gestione dei progetti; pubblicazione mediante client FTP; Linguaggi Web II - 05 PhP parte 1 13/74 EasyPHP installa un server Apache, PHP ed un database Mysql per eseguire e testare pagine dinamiche. Non necessita di configurazioni o particolari conoscenze. Si può visualizzare le pagine sviluppate in formato PHP direttamente in locale sul computer personale. L'utente deve solo inserire i file.php all'interno della cartella predefinita dove il server va a ricercare i file da eseguire. Una volta installato EasyPHP è possibile accedere ai menu per avviare e bloccare i servizi direttamente dalla barra di sistema di Windows, dove viene visualizzata l'icona del programma. Il software può essere anche installato ed avviato da una USB per poter utilizzare l'ambiente preconfigurato su qualsiasi macchina. Linguaggi Web II - 05 PhP parte 1 14/74 Una pagina PHP Una pagina PHP è un file con estensione.php e contiene: Testo Marcatori HTML Comandi script In PHP la parte di script può apparire in qualsiasi punto della pagina html e viene delimitato dai delimitatori di script: <? e <?php e Ad esempio il comando: <? $x="ciao" assegna alla variabile x il valore "ciao". Una pagina PHP Quando il web server riceve la richiesta di una pagina con estensione.php sa che la pagina deve essere processata dall engine PHP. Il risultato della computazione viene tornato al web server che lo restituisce al client. Gli elementi HTML sono passati direttamente al server web mentre le parti di script vengono interpretate dal motore di scripting PHP. Il comando più semplice per generare l output HTML da inviare al browser è "echo" Linguaggi Web II - 05 PhP parte 1 15/74 Linguaggi Web II - 05 PhP parte 1 16/74 Pagine PHP sul server Le pagine php, come le HTML, risiedono sul web server. Apache ha una cartella predefinita per le pagine HTML/PHP che è htdocs, nella cartella di installazione di apache. Se vogliamo eseguire la pagina miapagina.php dobbiamo quindi copiarla nella cartella htdocs e poi visualizzarla digitando dal browser la URL Verificare la versione sul server 1. <?php 2. phpinfo(); 3. Salvere come phpinfo.php copiare questo file nella cartella per pubblicare su internet. Scrivere nella barra del proprio browser l indirizzo URL del tipo phpinfo().htm file da leggere Nome del server web dove risiede la pagina per motivi di sicurezza meglio non lasciare questo file con un tale nome sul server, chi lo esegue viene a conoscere molti dettagli utili per attaccare il server Linguaggi Web II - 05 PhP parte 1 17/74 Linguaggi Web II - 05 PhP parte 1 18/74 3

4 Approccio solo HTML Approccio solo HTML server Richiesta client server Risposta client File.html pagina web statica: il contenuto è sempre lo stesso WEB Server url info sul richiedente (tipo di browser, lingua, etc.) Browser WEB Server file html Browser Linguaggi Web II - 05 PhP parte 1 19/74 Linguaggi Web II - 05 PhP parte 1 20/74 Approccio PHP Risposta basata su uso PHP e SQL File.php server.php condizioni esterne: ora, informazioni ricevute con la richiesta, etc. Risposta client pagina web dinamica: il contenuto può variare di volta in volta File.php server.php condizioni esterne: ora, informazioni ricevute con la richiesta, etc. client pagina web dinamica: il contenuto può variare di volta in volta e da utente a utente PHP PHP DBMS Approccio solo HTML File.html File.html WEB Server file html Browser WEB Server file html Browser Linguaggi Web II - 05 PhP parte 1 21/74 Linguaggi Web II - 05 PhP parte 1 22/74 File.php PHP server.php condizioni esterne: ora, informazioni ricevute con la richiesta, etc. DBMS RISPOSTA client pagina attiva. il browser può modificare ulteriormente la pagina in base ad azioni dell utente (es. mouse over) Funzionamento di PHP è un linguaggio interpretato Browser web Richiede uno script Server web File.html con Javascript WEB Server file html JAVASCRIPT Browser Browser web Fornisce la pagina HTML Genera la pagina HTML Parser del linguaggio Analizza lo script Individua lo script Linguaggi Web II - 05 PhP parte 1 23/74 Linguaggi Web II - 05 PhP parte 1 24/74 4

5 File di configurazione di PHP: php.ini I parametri di funzionamento di PHP sono definiti in un apposito file, denominato php.ini che il server web legge ad ogni riavvio In questo file sono definiti alcuni parametri con i valori di default Non è necessario modificare il file per il corretto funzionamento di PHP, i parametri predefiniti generalmente sono sufficienti I parametri riguardano molti degli aspetti di PHP, ad esempio path dei file, uso della sessioni e dei cookie Scrivere sul browser L output di uno script viene scritto sulla finestra del client L istruzione di stampa di PHP è echo (o print) <? echo "Ciao"; oppure <? echo("ciao"); oppure <? print "Ciao"; Linguaggi Web II - 05 PhP parte 1 25/74 Linguaggi Web II - 05 PhP parte 1 26/74 Esempio: miapagina.php 1. <html> 2. <head> 3. <title> Ciao Como: il primo programma PHP </title> 4. </head> 5. <body> 6. <!-- segue script PHP --> 7. <?php 8. echo "Ciao Como!"; 9. echo "Il mio primo programma PHP\n"; 10.echo "con la prima riga PHP\n"; <!-- fine script PHP --> 13.<p> 14.Questo testo è ancora in HTML. 15.</body> 16.</html> Linguaggi Web II - 05 PhP parte 1 27/74 Risultato dell esempio 1. <html> 2. <head> 3. <title> Ciao Como: il primo programma PHP </title> 4. </head> 5. <body> 6. Ciao Como! Il mio primo programma PHP 7. con la prima riga PHP 8. <p> 9. Questo testo è ancora in HTML. 10. </body> 11. </html> Linguaggi Web II - 05 PhP parte 1 28/74 Altro esempio di echo il dato da inviare al browser che segue il comando echo può essere racchiuso tra parentesi e al comando possono essere date in input più stringhe separate da virgole come: echo "Buongiorno!", "<br /> \n", "Bella giornata"; \n serve per dare leggibilità al codice HTML in produzione, PHP lo trasforma in un ritorno a capo non confondere il codice HTML con il layout della pagina da visualizzare, sul browser è solo il tag <br /> che forza il testo ad andare a capo, quando non c è il browser allinea tutto sulla stessa linea anche se il codice HTML ha un ritorno a capo Il codice PHP <?php echo "prima riga \n"; echo "seconda riga <br />"; echo "terza riga"; produce l HTML prima riga seconda riga <br />terza riga mentre il browser produce prima riga seconda riga terza riga Altro esempio di echo Linguaggi Web II - 05 PhP parte 1 29/74 Linguaggi Web II - 05 PhP parte 1 30/74 5

6 Esistono tre tipi di commenti: /* commento a riga multipla */ // commento a riga singola # commento a riga singola Commenti Linguaggi Web II - 05 PhP parte 1 31/74 PHPDOC per facilitare la documentazione API delle classi analizzatore sintattico basato su Javadoc di Sun bisogna inserire un blocco di commenti prima di ogni definizione di funzione, classe, variabile <?php /** * mysimpleexample * Semplice funzione di restituizione messaggio string $name nome utente */ function mysimpleexample ($name) cercare su Google il file phpdoc_cheatsheet.pdf per altri esempi Linguaggi Web II - 05 PhP parte 1 32/74 PHPDOC per dare documentazione scaricare l ultima versione e decomprimere i file in una delle cartelle di WAMP (o altro server) per poterlo usare con sempre dopo aver attivato WAMP nelle cartelle create cercare \PhpDocumentor\tutorials\phpDocumentor\examples che contiene alcuni esempi PHPDOC nel menu Files inserire le cartelle da usare con i file da cui creare documentazione e per sceglierle cliccare su oppure scrivere a mano Linguaggi Web II - 05 PhP parte 1 33/74 Linguaggi Web II - 05 PhP parte 1 34/74 PHPDOC nel menu Output inserire la cartella in cui scrivere il risultato e il formato di documentazione PHPDOC lo strumento per scegliere le cartelle di file non è fatto molto bene, a volte conviene scrivere a mano i percorsi Linguaggi Web II - 05 PhP parte 1 35/74 Linguaggi Web II - 05 PhP parte 1 36/74 6

7 Variabili le variabili si denotano con una sequenza di caratteri preceduti dal simbolo $ maiuscole e minuscole sono diverse conviene iniziare con una minuscola e far risaltare le parole successive con lettera maiuscola del tipo myfirstvariable devono iniziare con una lettera o il carattere sottolineatura (_) possono contenere numeri $miavar $_ENVI $var4 per assegnare un valore ad una variabile si usa il carattere = $miavar=17; $mess="ciao!"; le variabili vengono visualizzate dall istruzione echo echo $miavar; notare i ; alla fine delle istruzioni! Linguaggi Web II - 05 PhP parte 1 37/74 Tipi delle variabili un tipo è la descrizione del formato della variabile Boolean (TRUE, FALSE) $pagato = FALSE; Integer $count=1; Float, double $miavar=1.456; String $messaggio="benvenuto"; Array $lista=array("primo","secondo"); $lista[1]; Linguaggi Web II - 05 PhP parte 1 38/74 Lo scope di una variabile l ambito o scope di una variabile in PHP è la pagina stessa ogni variabile esiste solo per lo script dove è definita, alla fine della computazione scompare questo significa che possono coesistere variabili con lo stesso nome se definite in pagine diverse e che non è possibile usare il valore di una variabile in uno script diverso da dove e stata definita le uniche variabili globali permesse sono i superglobalarray, array globali predefiniti che sono visibili da qualsiasi pagina dell applicazione le variabili globali sono disattivate di default nel file php.ini con la direttiva register_globals = Off. Variabili predefinite Negli script PHP sono disponibili variabili global definite al di fuori dello script, chiamate variabili predefinite (o superglobalarray) Variabili del server, sono definite dal server web e quindi variano a seconda del server usato. Sono definite come l array $_SERVER $_SERVER["PHP_SELF"] nome dello script corrente, $_SERVER["SERVER_NAME"] indica il nome del server, $_SERVER["HTTP_USER_AGENT"] indica il browser che ha inoltrato la richiesta phpinfo() fornisce informazioni sullo stato corrente di PHP, tra cui tutte le variabili predefinite. E utile ad esempio, per vedere se Mysql è installato e viene visto correttamente da PHP Linguaggi Web II - 05 PhP parte 1 39/74 Linguaggi Web II - 05 PhP parte 1 40/74 Stringhe le stringhe sono sequenza di caratteri alfanumerici possono essere definite con i caratteri oppure " l unione di stringhe si effettua con il carattere punto (.) facilitando l operazione rispetto ad altri linguaggi $nome = "Mario"; $cognome="rossi"; $nomeintero=$nome.$cognome; si differenziano: per i caratteri di escape: sequenze speciali di caratteri che hanno una specifica interpretazione, ad esempio \n per new line, \ per virgoletta singola) per l interpretazione delle variabili. Stringhe La virgoletta singola produce un output letterale $var="variabile"; $myvar = La mia $var! \n ; print($myvar); produce come output La mia $var!\n utile per produrre listati di codice senza farlo eseguire Linguaggi Web II - 05 PhP parte 1 41/74 Linguaggi Web II - 05 PhP parte 1 42/74 7

8 Stringhe La virgoletta doppia " produce un output processato: i caratteri che seguono il backslash vengono tradotti le variabili vengono valutate $var="variabile"; $myvar = "La mia $var! \n"; print($myvar); produce come output La mia variabile! Stringhe Le stringhe che contengono un numero nella parte iniziale possono essere convertite in numero Esempio: <?php $stringa="45 anni"; $num=23; $add = $num + $stringa; echo $add; Risultato: 68 dato da somma di 45 e 23 con $stringa="anni 45"; non funziona! bisogna scrivere numero da misura poi unità misura Linguaggi Web II - 05 PhP parte 1 43/74 Linguaggi Web II - 05 PhP parte 1 44/74 Stringhe 1. <?php 2. $num1="3"; 3. $num2="4"; 4. $totale1 = $num1 + $num2; 5. echo $totale1; 6. echo "<br>"; 7. $num3 = "5"; 8. $num4 = "7"; 9. $totale2 = $num3. $num4; 10.echo $totale2; 11. Risultati 7 perché il + fa somma di stringa convertita in numero 57 perché il. mette insieme due stringhe Linguaggi Web II - 05 PhP parte 1 45/74 Operatori su stringhe Vediamo alcuni dei tanti operatori di manipolazione di stringhe. strlen(stringa) restituisce il numero di caratteri della stringa trim/ltrim/rtrim(stringa). Trim elimina spazi all inizio e alla fine della stringa, ltrim a sinistra rtrim a destra substr(stringa, intero1 [,intero2]). Restituisce la sottostringa che inizia alla posizione intero1 eventualmente fino a intero1+intero2 str_replace(str1,str2,str3) restituisce una nuova stringa dove sostituisce tutte le occorrenze di str1 con str2 in str3. strtolower/strtoupper(stringa) converte tutti i caratteri in minuscolo/maiuscolo Il confronto tra stringhe si effettua con classici operatori di confronto ==, <, > Linguaggi Web II - 05 PhP parte 1 46/74 Esempio manipolazione di stringhe <? $str=" pippo pluto e paperino "; $str2=trim($str); echo $str2; Restituirà la stringa "pippo pluto e paperino $Nome = 'Luigi'; $Cognome = 'Rossi'; echo $Nome.' '.$Cognome; // scrive Luigi Rossi echo "$Nome $Cognome"; // scrive Luigi Rossi echo $Nome[0].'.'.$Cognome; // scrive L.Rossi echo "$Nome[0].$Cognome"; // scrive L.Rossi Costrutto isset() Questa funziona permette di verificare se una variabile è impostata o meno: isset($var); restituisce true se la variabile $var è settata altrimenti false <? $var="pippo"; $settata=isset($var); Linguaggi Web II - 05 PhP parte 1 47/74 Linguaggi Web II - 05 PhP parte 1 48/74 8

9 Operatori numerici PHP supporta cinque operatore numerici Addizione $a + $b; Sottrazione $a - $b; Moltiplicazione $a * $b; Divisione $a / $b; Modulo $a % $b; Incremento $i++ incrementa di 1 Decremento $i-- decrementa di 1 Data e ora Sono disponibili varie funzioni per reperire la data e ora correnti sul server. Il tempo viene rappresentato come un timestamp che rappresenta i secondi trascorso dall "ora zero" Unix, 1 gennaio 1970! In PHP abbiamo due funzioni per reperire la data: getdate() che restituisce un array contente data e ora corrente e date("formato") che restituisce la data nel formato definito. $dataoggi=date("j/m/y"); echo $dataoggi; Visualizzerà 18/Apr/2007 Linguaggi Web II - 05 PhP parte 1 49/74 Linguaggi Web II - 05 PhP parte 1 50/74 Data e ora date("formato") dove formato può contenere Y anno su 4 cifre y anno su 2 cifre n mese numerico m mese numerico su due cifre F mese testuale M mese testuale su tre lettere d giorno del mese su due cifre j giorno del mese w giorno della settimana l giorno della settimana testuale D giorno della settimana su tre lettere H ora su due cifre G ora i minuti s secondi Linguaggi Web II - 05 PhP parte 1 51/74 TimeStamp l informazione sul tempo è formata da un numero intero corrispondente al numero di secondi a partire da 1 gennaio 1970 cosi posso fare facilmente la differenza tra due date con una sottrazione tra numeri interi e poi converto il risultato in formato data per sapere giorni, ore, minuti, secondi di differenza Linguaggi Web II - 05 PhP parte 1 52/74 Costrutto condizionale <? if (condizione) { istruzioni da eseguire se la condizione è vera else { istruzioni da eseguire se la condizione è falsa Il risultato di condizione deve essere un valore booleano, quindi una variabile, se essa è booleana, oppure un operatore di confronto tra variabili Operatori di confronto $a == $b uguale $a === $b identico (uguale anche il tipo) $a!= $b non uguale $a!== $b non identico $a > $b maggiore $a < $b minore $a >= $b maggiore uguale $a <= $b minore uguale Linguaggi Web II - 05 PhP parte 1 53/74 Linguaggi Web II - 05 PhP parte 1 54/74 9

10 Operatori logici and è vero se e solo se entrambi gli argomenti sono veri. or è vero solo se uno (o entrambi) degli argomenti èvero.! Negazione. E vero solo se il suo argomento è falso e viceversa xor è vero solo se uno dei due agomenti (ma non entrambi) sono veri. && come and ma con ottimizzazione di valutazione del primo argomento come or con ottimizzazione di valutazione del primo argomento Linguaggi Web II - 05 PhP parte 1 55/74 Istruzione switch switch (espressione) { case costante_espressione: istruzione; break; case costante_espressione: istruzione; break;... default: istruzione; Rappresenta una serie di if annidati <? switch ($miavar) { case 5: echo "Insufficiente"; break; case 10: echo "10 e lode!!"; break; default: echo "sufficiente"; Linguaggi Web II - 05 PhP parte 1 56/74 Istruzione switch istruzione utile per dare un codice html, quindi un sito diverso, a persone diverse in $miavar si mette il codice di utente e secondo il codice riportato in istruzione case si monta una pagina diversa Cicli while (espressione) { istruzione L istruzione viene ripetuta fino a quando l espressione viene valutata a TRUE <? $a=1; while ($a<10) { echo $a; $a++; Linguaggi Web II - 05 PhP parte 1 57/74 Linguaggi Web II - 05 PhP parte 1 58/74 Cicli do { istruzione while (espressione); L istruzione viene eseguita prima della valutazione dell espressione, quindi almeno una volta. <? $a=0; do { echo "ciclo do-while questo è a: $a"; while ($a > 0) ; for (espressione1;espressione2;espressione3) { istruzione Esempio: <? for ($i=0;$i<=10;$i++) { echo $i; Array Gli array sono contenitori in grado di memorizzare una sequenza di elementi indicizzati. Rispetto alla variabili possono contenere tanti valori diversi. Gli array di PHP sono di tipo associativo, ovvero un array associativo è un array che utilizza delle stringhe al posto dei numeri interi come indici delle posizioni. Indice array o chiave pippo pluto paperino minni topolino elementi array Linguaggi Web II - 05 PhP parte 1 59/74 Linguaggi Web II - 05 PhP parte 1 60/74 10

11 Creare un array Gli array si creano con il costrutto array() $myarray = array("pippo","pluto","paperino","paperone","topolino"); Abbiamo creato un array di cinque elementi, alla posizione 0 abbiamo "pippo", e cosi via fino alla quinta posizione (elemento 4). Prestare attenzione agli apici Contare gli elementi: count(array) e sizeof(array) Creare un array Gli array si possono creare anche assegnando i valori ai singoli elementi $myarray[0]="pippo"; L indice se non specificato diversamente è numerico ed inizia da 0. Altrimenti possiamo definire esplicitamente le chiavi sia numeriche che non. $myarray1 = array(1=>"pippo",0=>"pluto",3=>"paperino",4=>"paperone",2=> "topolino"); $myarray2 = array('personaggio1'=>"pippo",'personaggio2'=>"pluto",'persona ggio3'=>"paperino",'personaggio4'=>"paperone",'personaggio5' =>"topolino") Linguaggi Web II - 05 PhP parte 1 61/74 Linguaggi Web II - 05 PhP parte 1 62/74 Accedere a un array L accesso agli elementi può avvenire tramite l indice $myarray[1] ; indica l elemento "pluto" o tramite la chiave definita $myarray2[ personaggio1 ]; ecco due esempi $myarray['nome'] = Roberto'; $myarray['cognome'] = Marmo'; i nomi tra gli si possono prendere da altre variabili, così posso usare variabili per selezionare i nomi di indici vettore Fare attenzione, come per le variabili, PHP è case sensitive cioé distingue tra lettere maiuscole e lettere minuscole. Da questo esempio risulta chiara l'utilità che gli array associativi assumono della gestione di informazioni strutturate. Linguaggi Web II - 05 PhP parte 1 63/74 Accedere agli elementi di un array Il costrutto foreach permette di effettuare cicli sugli elementi dell array foreach(array as item) dove item indica l indice dell array Esempio: foreach ($myarray as $item) echo "$item <BR>"; Stampa il contenuto di un vettore senza dovere controllare se il vettore è vuoto o quanti elementi ci sono dentro. Linguaggi Web II - 05 PhP parte 1 64/74 Accedere agli elementi di un array Con questo tipo di array è importante sapere a quale chiave è associato il valore. <?php foreach ( array_keys($myarray) as $chiave ) { echo $chiave.': '. $myarray[$chiave].'<br />'; Questo esempio usa un ciclo "foreach" per ciclare l'array delle chiavi indice utilizzate in $myarray. L'array delle chiavi indice viene fornito dalla funzione array_keys del PHP ed è un normale array a indice numerico. All'interno del ciclo abbiamo ogni indice nella variabile $chiave da utilizzare per visualizzarne il valore. Accedere agli elementi di un array Un problema molto diffuso con gli array associativi è valutare l'esistenza di un indice. Visualizzando il contenuto di un indice inesistente si ottiene un errore perciò è importante sapere prima se tale indice esiste. <?php // Questa istruzione produce un errore: echo ($myarray['prova']; // Ecco il codice giusto: if ( array_key_exists(($myarray) ) echo ($myarray['prova']; else echo 'Indice inesistente!'; Linguaggi Web II - 05 PhP parte 1 65/74 Linguaggi Web II - 05 PhP parte 1 66/74 11

12 Aggiungere un elemento ad un array $array[] = $newelement; Viene aggiunto il nuovo elemento alla fine dell array $myarray[]="archimede"; Array Multidimensionali Un elemento di un array può contenere a sua volta un array, creando cosi un array multidimensionale <? $myarray=array(array("pippo","pluto"),array("topolino","paperi no")); echo $myarray[0][1]; Linguaggi Web II - 05 PhP parte 1 67/74 Linguaggi Web II - 05 PhP parte 1 68/74 Manipolazione di un array Le funzioni sort() e rsort() permettono di ordinare un array in base agli elementi sort($myarray); ordina in ordine crescente rsort($myarray); ordina in ordine decrescente Non restituiscono un valore ma ordinano direttamente l array passato come parametro. Esempio <? $myarray=("uno","due","tre"): sort($myarray); Manipolazione Array explode() e implode() permettono di convertire un array in una stringa e una stringa in un array per mezzo di un carattere separatore. In questo esempio $mystring è il risultato di implode dell array dove gli elementi dell array vengono separati nella stringa dal carattere spazio $mystring = implode(" ",$myarray); Analogamente, $myarray è il risultato di explode di una stringa dove gli elementi dell array vengono distinti dal carattere barra $myarray= explode(" ",$mystring); Linguaggi Web II - 05 PhP parte 1 69/74 Linguaggi Web II - 05 PhP parte 1 70/74 Funzioni Le funzioni sono blocchi di codice che possono essere chiamati da più punti dello script php function nome_funzione (arg_1,arg_2,...,arg_n) {. Script. return valore; La funzioni possono avere argomenti in input (arg1,arg_2,... arg_n) e possono restituire un valore Le variabili definite dentro una funzione hanno come ambito la funzione stessa. Quindi al di fuori della funzione non esistono. Funzioni Creazione e chiamata di funzioni con restituzione di valori <? function add() { $somma=3+5; return $somma; echo add(); Linguaggi Web II - 05 PhP parte 1 71/74 Linguaggi Web II - 05 PhP parte 1 72/74 12

13 Funzioni Chiamata di funzione senza restituzione di valori <? function stampa() { echo "Funzione!"; stampa(); Funzioni con argomenti <? function add1($a,$b) { $somma=$a+$b; return $somma; echo add1(3,5); Linguaggi Web II - 05 PhP parte 1 73/74 Linguaggi Web II - 05 PhP parte 1 74/74 Funzioni Le funzioni possono ritornare più valori, sotto forma di array <? function tornaarray() { $myarray=array("pippo","pluto","paperino"); return $myarray; $arraytornato=tornaarray(); echo $arraytornato[1]; Inclusione di file Per condividere e riutilizzare porzioni di script e funzioni si usa frammentare il codice in più file in modo da poterlo includere quando serve include (nomefile); L istruzione include va posizionata all inizio dello script php o comunque prima dei riferimenti a variabili o funzioni definiti nel file da includere L interprete PHP segnala errore se il file non viene trovato, proseguendo comunque l esecuzione require (nomefile) è analogo tranne che genera un errore irreversibile qualora il file non venga trovato Linguaggi Web II - 05 PhP parte 1 75/74 Linguaggi Web II - 05 PhP parte 1 76/74 13

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

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

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

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

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

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

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

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

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

Dettagli

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

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

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

Introduzione a PHP Gestione dei Dati e della Conoscenza

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

Dettagli

Passaggio dei dati tra HTML e PHP : array superglobali $_GET e $_POST

Passaggio dei dati tra HTML e PHP : array superglobali $_GET e $_POST Passaggio dei dati tra HTML e PHP : array superglobali $_GET e $_POST I valori inviati da un modulo (con metodo post o get), sono automaticamente memorizzati da PHP sia in variabili di ambiente associate

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

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

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

Dettagli

2. Costruire un database con Apache, PHP e MySql

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

Dettagli

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

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo PHP PHP: Hypertext Preprocessor Indice Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo Funzioni Form Cookie Sessione File 1 Introduzione PHP è un linguaggio

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

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

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

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

Dettagli

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

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag