Laboratorio Progettazione Web Il linguaggio PHP Introduzione. Andrea Marchetti IIT-CNR AA 2014/2015

Documenti analoghi
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Laboratorio Progettazione Web Applicazioni Web Lezione 2. Andrea Marchetti IIT-CNR 2011/2012

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Il calcolatore. Architettura di un calcolatore (Hardware)

Introduzione a PHP Gestione dei Dati e della Conoscenza

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

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

Javascript: il browser

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

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Corso di Web Programming

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

Prof. Pagani Corrado HTML

Sistemi Web per il turismo - lezione 3 -

Corso di PHP. Prerequisiti. 1 - Introduzione

Laboratorio di Basi di Dati

What is PHP? Introduzione Rappresentazione dell informazione Architettura del calcolatore Le reti ed internet Elementi di programmazione

COMPILAZIONE. Tarsformazione di linguaggi

Esercitazione 8. Basi di dati e web

Richiesta pagina PHP (es: index.php)

Introduzione allo sviluppo Web. Studium Generale, a.a , II semestre

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

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

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

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

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work

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

Il Manuale di KXSLDbg. Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas

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

19. LA PROGRAMMAZIONE LATO SERVER

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Dott.ssa Adriana Pietramala

DBMS e Linguaggi di programmazione nell'era di Internet

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

Corso di Informatica Modulo T3 B1 Programmazione web

Gestione di files Motivazioni

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Java Native Interface Appunti

PIANO DI LAVORO. a.s / 2016

Applicazione client-server in PHP con database MySQL

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI

Informatica Teorica. Macchine a registri

Events: Track your favorite artists

PHP e MySQL. Guida scaricata da

Basi di Dati. Programmazione e gestione di sistemi telematici

Esonero del corso di Programmazione a Oggetti

KNEWS Messaging system

Progettazione Web Applicazioni client-server

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

BASI DI DATI Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

Manuale di configurazione e utilizzo Barcode card

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

DATABASE PER IL WEB. Programmazione Web 1

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008

Corso di PHP. Prerequisiti. 1 - Introduzione

PHP e Structured Query Language

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

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Indice register_globals escaping

Come funziona internet

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

L aspetto dei file HTML

Web Programming Specifiche dei progetti

Indice. Introduzione PARTE PRIMA PHP: I FONDAMENTI

C o r s o L i b e r o d i Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it

Al giorno d oggi, i sistemi per la gestione di database

Il Protocollo HTTP e la programmazione di estensioni Web

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

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

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

Architetture Web I Server Web e gli Standard della Comunicazione

Presentazione Data Base

con ANTLR tesi di laurea Anno Accademico Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr

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

2011 Politecnico di Torino 1

PARTE III MACCHINE A REGISTRI

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont)

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

PHP (PHP Hypertext Preprocessor)


RenderCAD S.r.l. Formazione

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR 2011/2012

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Laboratorio di Sistemi Autenticazione utente mediante MySQL Jsp [Java]

PLANET GYM IL PIANETA DEL FITNESS. Emanuele Cesari Anno scolastico 2013/2014 Agostino bassi 4D SIA Relazione palestra

CAPITOLO V. DATABASE: Il modello relazionale

Corso di Web Programming

La programmazione web: lato client e lato server

Sorgenti, Binari e Pacchetti (Compilazione e pacchettizzazione per GNU/Linux)

Indice. Introduzione. PARTE PRIMA PHP: i fondamenti 1

Introduzione allo sviluppo Web. Studium Generale, a.a , II semestre

Transcript:

Laboratorio Progettazione Web Il linguaggio PHP Introduzione Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015

Outline Linguaggi di programmazione richiami generali Introduzione al PHP Variabili Stringhe e funzioni su stringhe Istruzioni di assegnamento

Programma Tramite un programma posso definire: i dati Costanti, variabili, array Di tipo intero, stringa, reali, l elaborazione dei dati Operatori, condizioni, cicli, funzioni Quando studio un nuovo linguaggio di programmazione devo capire come definire Dati Istruzioni di elaborazione

Concetti generali Algoritmo procedimento per la soluzione di una classe di problemi attraverso un numero finito di passi. Programma codifica di un algoritmo in un certo linguaggio di programmazione come sequenza ordinata di istruzioni che, a partire da dei dati in ingresso,restituisce dei risultati in uscita in seguito alla loro elaborazione. Traduttore Eseguibile programma scritto in linguaggio macchina ovvero nel formato adatto ad essere caricato dal sistema operativo, e all'architettura hardware del processore che lo esegue

Traduttori I traduttori sono programmi particolari che provvedono a convertire il codice di programmi scritti in un dato linguaggio di programmazione (sorgenti) nella corrispondente rappresentazione in linguaggio macchina (programmi oggetto o eseguibili) 5

Traduzione codice sorgente (scritto in qualche linguaggio di alto livello) codice oggetto ("eseguibile") x = y +2 00010100 11001011 00010110 00000010 00010111 11001111 traduttore indirizzo di y indirizzo di x 6

Due tipi di traduttori Interpreti traducono ed eseguono direttamente ciascuna istruzione del programma sorgente, istruzione per istruzione Programma sorgente Interprete Risultato Compilatori accettano in input l'intero programma e producono in output la rappresentazione dell'intero programma in linguaggio macchina Programma sorgente Compilatore Programma eseguibile Processore Risultato

Interprete vs compilatore compilazione migliori prestazioni (la traduzione viene effettuata una volta sola) processi di ottimizzazione (compilazione sull'intero programma) interprete in caso di modifiche, consente di eseguire il programma non appena il codice sorgente sia stata aggiornato Il PHP è un linguaggio interpretato 8

Elementi di PHP 1. Costanti, variabili, tipi di dati Operatori, condizioni, cicli 2. Interazione con i Browser 3. Array 4. Interazione con i DB 5. Funzioni

Scheda PHP Sviluppatore ThePHPGroup Ultima versione 5.5.0 Beta 2 (28 marzo 2013) S.O. Genere Licenza Multipiattaforma Linguaggio di scripting Free, opensource Sito web http://www.php.net

PHP Supportato da numerose comunità online Integrabile con numerose librerie esterne Interpretato Introdotto da Lerdorf nel '94 PHP è un acronimo ricorsivo che sta per PHP: Hypertext Preprocessor

PHP Concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche linguaggio di script interpretato da una componente aggiuntiva del server web, detto processore PHP o interprete PHP L'elaborazione di codice PHP sul server produce codice HTML da restituire al browser Permette di interagire con vari database, MySQL, Oracle, Postgres...

Funzionamento PHP in un appl Browser Web http://www.example.com/lpw.php Get lpw.php Server Web html HTML Recupera da htdocs Genera l'html Lpw.php Processore Php Server www.example.com

Caratteristiche di uno script PHP Requisito: Apache con il processore PHP Termina con l'estensione.php Quando il server gestisce un documento richiesto con estensione.php lo passa direttamente al Processore PHP Si può configurare il server web affinche invochi sempre il processore php anche per documenti con estensione.htm o.html. Utile se si vuole nascondere che stiamo usando php. Il processor php restituisce alla fine dell'elaborazione un file HTML Se il documento.php contiene solo codice HTML il risultato sarà il documento stesso

Programmi PHP per Applicazioni Web <?php echo "<html>"; echo "Oggi è il ". date("d/m/y"); echo "</br>"; echo "e sono le ore ". date("h:i:s"); echo "</html>";?> <html> Oggi è il <?php echo date("d/m/y");?></br> Sono le ore <?php echo date("h:i:s");?> </html> Processore PHP Il Processore PHP interpreta solo il codice contenuto tra <?php e?> il resto lo fa passare <html> Oggi è il 22/03/2012</br> e sono le ore 15:00 </html> L'esecuzione del programma PHP produce una pagina HTML

Delimitatori PHP Il codice PHP si intervalla al codice HTML delimitato ogni volta da 2 indicatori <?php per indicare l'inizio Oppure semplicemente <? (deprecato)?> per indicare la fine

Test Esecuzione PHP <?php echo "<html>"; echo "Oggi è il ". date("d/m/y"); echo "</br>"; echo "e sono le ore ". date("h:i:s"); echo "</html>";?> Invocazione tramite browser http://localhost/prova.php Assicurarsi che il file prova.php sia sotto la directory xampp/htdocs Invocazione diretta php prova.php Assicurarsi di poter vedere il processore php dalla directory in cui si trova il programma( PATH=C:\...\PHP\ ) Utile per eseguire dei test sul codice

Sintassi di Base I comandi in PHP terminano con il carattere ; Dimenticarlo costituisce il 90% dei primi errori echo "Salve"; Le variabili in PHP sono precedute dal carattere $ $Eta=18;

Commenti I commenti sono utili per spiegare il codice scritto (USARLI SPESSO!!!) per disabilitare temporaneamente porzioni di programma. Esistono tre tipi di commenti: 1. /* Questo è un commento a riga multipla, fate attenzione a non annidarli */ 2. // commento a riga singola 3. # commento a riga singola

Variabili Una variabile identifica una porzione di memoria destinata a contenere dei dati, che possono essere modificati nel corso dell'esecuzione di un programma. Una variabile è acceduta tramite un nome definito in fase di dichiarazione della variabile Una variabile prende un determinato valore mediante un operazione di assegnamento età = 18; età 18 Una costante è invece una porzione di memoria che mantiene lo stesso valore per tutta la durata dell'esecuzione del programma. Nei linguaggi tipizzati, ciascuna variabile è caratterizzata da un tipo di dato, che restringe i valori accettabili

Variabili in PHP La gestione delle variabili in PHP è molto semplificata La dichiarazione di una variabile avviene al suo primo utilizzo $indirizzo = "Via Guglielmo Marconi, 1" ; /* posso usare una variabile anche senza dichiararla*/ PHP non è un linguaggio tipizzato $età = 18; // non c'è modo di dichiarare che è una variabile intera $eta = "diciotto"; /* posso assegnare alla stessa variabile tipi di dati differenti nello stesso programma */

Vincoli sui nomi di variabili Le variabili in PHP si denotano con una sequenza di caratteri preceduti dal simbolo $ I nomi sono case sensitive Età diverso da età Devono iniziare con una lettera o il carattere underscore _ Possono contenere solo i caratteri: a-z, A-Z, 0-9, _ $miavar $_ENV $var45 SI miavar $2pippo NO

Esempio <HTML><HEAD><TITLE>Esempio PHP</TITLE></HEAD> <BODY> Questo testo è in HTML <?php // memorizzo e visualizzo il mio nome $nome = "Andrea"; echo $nome;?> </BODY></HTML>

Tipi delle variabili Un tipo è la descrizione del formato dei valori che una variabile può assumere In PHP non devo dichiarare il tipo di una variabile, sarà assegnato al primo uso della variabile Una variabile PHP può cambiare tipo Boolean (TRUE, FALSE) $pagato = FALSE; Integer $count=1; Float, double $miavar=1.456; String $messaggio="benvenuto";

Variabili numeriche $a = 4; $b = 2; echo $a * $b; // produce 8 $a = 2.3; echo $a * $b; // produce 4.6

Operatori aritmetici Operatore Descrizione Esempio $a=4; $b=2; + Addizione $a+$b; //6 - Sottrazione $a-$b; //2 * Moltipicazione $a*$b; //8 / Divisione $a/$b; //2 % Modulo $a%$b; //0 ++ Incremento di 1 $a++; //5 -- Decremento di 1 $a--; //3

Stringhe Una stringa è una sequenza di caratteri alfanumerici {a-y,0-9} Sono delimitate con singolo o doppio apice $nome = "Mario"; $cognome = 'Rossi'; La concatenazione di stringhe si ottiene con l'operatore. $nomeintero = $nome. " ". $cognome; $nomeintero = "$nome $cognome";

Stringhe Differenza tra singolo e doppio apice $età = 18; echo "Anna ha $età anni"; // Anna ha 18 anni echo 'Anna ha $età anni'; // Anna ha $età anni Nel primo caso la stringa viene interpretata risolvendo la variabile nel secondo caso non ci sono interpretazioni

Stringhe Le stringhe che contengono un numero nella parte iniziale possono essere convertite in numero Esempio: $stringa="45 anni"; $numero=23; $somma = $numero + $stringa; // produce 68

Principali funzioni su 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 gli usuali operatori di confronto ==, <, >

Esempio manipolazione di stringhe <?php $disney="pippo pluto e paperino"; $n=strlen($ disney); echo $n;?> Restituirà la lunghezza in caratteri della stringa

Variabili predefinite Fornite direttamente dall ambiente PHP sono disponibili da programma Contengonomolte informazioni sull ambiente di esecuzione del programma o script Sono organizzati come array associativi (vedremo meglio in seguito) Evitare di ridefinirle. Variabilepredefinite $GLOBALS $_SERVER $_GET $_POST $_FILES $_COOKIE $_REQUEST $_ENV Descrizione Tutte le variabili che sono correntemente definite nel programma Create dal server web, danno informazioni sull ambiente di esecuzione del programma Variabili passate al programma tramite il metodo HTTP GET Variabili passate al programma tramite il metodo HTTP POST Oggetti passati al programma tramite il metodo HTTP POST Variabili passate al programma tramite HTTP cookies $_GET, $_POST, $_COOKIE Variabili passate al programma tramite metodi di ambiente

Passaggio di parametri con la richiesta URL http://localhost/lpw.php?reg=toscana&pro=pisa Browser Web Salve 1. 2. 3. lpw.php reg=toscana pro=pisa lpw.php <?php $regione = $_GET['reg']; $provincia = $_GET['pro']; echo "la regione è $regione</br>"; echo "la provincia è $provincia";?>

Esercizio Scrivere una URL con una Query String dove l utente possa passare una parola e un colore http://localhost/ex2.php?word=mondo&color=red Scrivere un programma php che legge i dati della URL e in base al colore restituisce una pagina HTML contenente la parola nel colore indicato

Esercizio http://localhost/lpw.php?word=welcome&col or=red La pagina HTML restituita dovrà essere visualizzata dal browser nel seguente modo Welcome

Una possibile soluzione <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>colored Word</title> </head> <body> <?php $color=$_get['color']; $word =$_GET['word']; echo "<p style='color:$color'>$word</p>";?> </body> </html>

Esercizio http://localhost/lpw.php?word=welcome La pagina HTML restituita dovrà contenere la parola e la sua lunghezza Usare la funzione strlen() Welcome è lunga 7