Introduzione a PHP Gestione dei Dati e della Conoscenza



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

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

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

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

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

Corso di PHP. Prerequisiti. 1 - Introduzione

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

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

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

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

Esercitazione 8. Basi di dati e web

Lavorare con MySQL Parte Seconda.

Utilizzare PHP 5. Le variabili GET e POST

19. LA PROGRAMMAZIONE LATO SERVER

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

Un client su arduino invia i dati acquisiti ad un database

Applicazione ASP di esempio

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

MySQL Database Management System

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

PHP e Structured Query Language

<?php include './include/page.php';

Lezione 9. Applicazioni tradizionali

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

Esercitazione sulle libpq - libreria C per PostgreSQL

PHP e MySQL. Guida scaricata da

Corso di PHP. Prerequisiti. 1 - Introduzione

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

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

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

Guida a PHP. Primi esempi

La tecnologia ASP.NET e i database

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1

JDBC versione base. Le classi/interfacce principali di JDBC

Presentazione Data Base

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

Sicurezza Informatica: Tecniche di SQL INJECTION

Interazione con l utente : i moduli.

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

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

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

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

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

2. Costruire un database con Apache, PHP e MySql

Eprogram ITIS V anno Unità 6 - PHP e MySQL

Il Protocollo HTTP e la programmazione di estensioni Web

GRUPPO DOMANDE N. 1. Quesito n. 1 Descrivere sinteticamente le finalità e le modalità d uso dei seguenti comandi UNIX / LINUX: LS, KILL, PS.

Programmazione Web. Laboratorio 4: PHP e MySQL

Anno 2013 Informatica ABACUS

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

MySQL Database Management System

PHP 5. Accesso a database

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Data Base in Internet

Corso sul linguaggio SQL

Funzioni. Il modello console. Interfaccia in modalità console

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI

Richiesta pagina PHP (es: index.php)

PHP & MySQL. Giselda De Vita

Dott.ssa Adriana Pietramala

XML e PHP. Gestire XML con PHP. Appendice

Il Web Server e il protocollo HTTP

APPUNTI DI PHP : V INFORMATICA SEZIONE G

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

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

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

I file di dati. Unità didattica D1 1

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

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

Procedura di login e sessione

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Una metodologia di progettazione di applicazioni web centrate sui dati

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

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

JDBC di base. Le classi/interfacce principali di JDBC

PHP: form, cookies, sessioni e. Pasqualetti Veronica

Progetto di Ingegneria del Software 2. SWIMv2

Transcript:

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") E un linguaggio di scripting generalpurpose Open Source Sintassi semplice (simile al C) Il codice è integrato all iterno del codice HTML

PHP - La Storia Nato nel 1994 ad opera del danese Rasmus Lerdorf, PHP era in origine una raccolta di script CGI che permettevano una facile gestione delle pagine personali Nel 1995 si evolve diventando un linguaggio di scripting embedded in differenti Web Server Attualmente (ormai alla versione 5) è stato arricchito con il supporto alla programmazione Object-Oriented e con numerose librerie (tra cui il supporto per MySQL)

Popolarità Fonte: http://php.net/usage.php

Perché è usato??? Perché è fondamentalmente cross-platform Web Server: Apache, Microsoft IIS, Caudium, Netscape Enterprise Server Sistemi Operativi: UNIX (HP-UX, OpenBSD, Solaris, Linux), Mac OSX, Windows NT/98/2000/XP/2003 Database supportati: Adabas D, dbase, Empress, FilePro (read-only), Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, msql, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis,Unix dbm

Primi Passi <html> <head> <title>esempio</title> </head> <body> <?php echo "Ciao, sono uno script PHP!";?> </body> </html> Ciao, sono uno script PHP! Definizione dei Tag: apertura <?, <?php chiusura?>

Tipi di dato e Variabili I tipi di dato supportati da PHP si distinguono in: tipi scalari: numeri (interi e a virgola mobile) stringhe booleani tipi compositi: array oggetti Le variabili non necessitano della definizione del tipo di dato Vengono dichiarate e utilizzate tramite l uso del carattere $ seguito da almeno un carattere alfabetico (e.g. $miavariabile) Una eccezione si ha per alcune variabili interne che dopo il $ hanno presentano il carattere _ (e.g. $_SERVER)

Array In php gli array possono funzionare in due modi: Scalare: gli indici sono numeri che partono da 0 Associativo: gli indici sono rappresentati da delle stringhe e.g. $myarr[0] = valore $myarr[ indice ] = valore

Supporto per i FORM Usa due variabili per accedere alle informazioni passate da FORM HTML: $_GET[ variabile ] e $_POST[ variabile ] <FORM action= benvenuto.php" method="post"> <INPUT type="text" name="utente"> <INPUT type="submit" name="invia" value= Vai"> </FORM> <?php if (isset($_post[ utente ])) { echo "Benvenuto <b>$_post[ utente ]!!!!</b>"; } else { echo Non conosco il tuo nome!"; }?>

Gestione dello Stato: le Sessioni PHP risolve il problema del mantenimento dello stato attraverso l uso delle sessioni. Viene utilizzato un cookie in cui viene scritto l identificativo della sessione. Qualora l utente abbia disabilitato il cookie è possibile appendere in coda alle richieste GET o POST l id di sessione. La sessione si avvia tramite la funzione session_start() e informazioni possono essere lette e scritte nella variabile $_SESSION[] <?php session_start(); if (!$_SESSION[ count ]) $_SESSION[ count ] = 0; if ($_GET[ count ] == "yes") $_SESSION[ count ] = $_SESSION[ count ] + 1; echo "<h1>".$_session[ count ]."</h1>";?> <a href="session.php?count=yes">click here to count</a>

Gestione dello Stato: le Sessioni (2) Le variabili di sessione possono essere annullate attraverso la funzione session_unset(). La funzione session_destroy() distrugge tutte le informazioni della sessione. La funzione session_unregister(nome_variabile) invece permette di cancellare una singola variabile impostata nella sessione.

Inclusioni e Funzioni PHP permette l inclusione di file, in cui possono essere definite funzioni oppure del codice da eseguire <? include( nomefile.php )?> Una funzione può essere definita usando la seguente sintassi: <?php function foo($arg_1, $arg_2, /*..., */ $arg_n) { echo "Funzione di esempio.\n"; return $retval; }?>

PHP e MySQL Le librerie di accesso a MySQL sono integrate in PHP Ci sono due tipi di risorsa usati nel modulo MySQL. Il primo è l'identificativo di connessione per una connessione ad un database, del secondo tipo sono le risorse che contengono i risultati di una query. Connessione al DB: /* Connessione e selezione del database */ $connessione = mysql_connect("host_mysql", "utente_mysql", "password_mysql ); mysql_select_db("mio_database );

Esecuzione di query In PHP esiste una sola funzione che esegue una query sul DB, indipendentemente se sia di ricerca o di inserimento; /* Esecuzione di una query SQL di Inserimento */ $query = INSERT INTO tabella(colonna) VALUES (valore)"; $risultato = mysql_query($query); /* Esecuzione di una query SQL di Ricerca */ $query = "SELECT * FROM mia_tabella"; $risultato = mysql_query($query);

Recupero dei Risultati I record recuperati da una query vengono inseriti in un array che può essere sia di tipo associativo che numerico; /* Stampa dei risultati in HTML */ echo <table>\n"; $linea = mysql_fetch_array($risultato, MYSQL_ASSOC); echo "\t<tr>\n"; foreach ($linea as $nome_colonna => $valore_colonna) { echo "\t\t<td>$nome_colonna</td>\n"; } echo "\t</tr>\n"; do { echo "\t<tr>\n"; foreach ($linea as $valore_colonna) { echo "\t\t<td>$valore_colonna</td>\n"; } echo "\t</tr>\n"; } while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC)); print "</table>\n ;

Gestione delle eccezioni In caso di errore si possono gestire le eccezioni interrompendo l esecuzione dello script e mostrando un messaggio di errore a piacere. Questo avviene tramite l uso della funzione die() e il tipo di errore si ottiene tramite la funzione mysql_error() $connessione = mysql_connect("host_mysql", "utente_mysql", password_mysql") or die("connessione non riuscita: ". mysql_error());

Funzioni di utilità Codifica dei caratteri addslashes(stringa): aggiunge il carattere \ davanti agli apici. stripslashes(stringa): rimuove il carattere \ davanti agli apici. urlencode(stringa): esegue la codifica dei caratteri che non possono essere scritti direttamente in una URL con simbolo % seguito da due caratteri esadecimali. urldecode(stringa): esegue la decodifica della stringa codificata attraverso urlencode.

Riferimenti Manuale PHP http://www.php.net/docs.php WAMP (Apache, PHP, MySQL on Windows): un sistema integrato e già preconfigurato per usare Apache, PHP e MySql sotto Windows. http://www.wampserver.com/en/download.php EasyPHP(Apache, PHP, MySQL on Windows): un sistema integrato e già preconfigurato per usare Apache, PHP e MySql sotto Windows http://www.easyphp.org/