Introduzione a PHP Diego De Cao, Roberto Basili - Gestione dei Dati e della Conoscenza
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Introduzione a PHP
Gestione dei Dati e della Conoscenza
Diego De Cao, Roberto Basili
{decao,basili}@info.uniroma2.it
a.a. 2008/2009PHP Overview
PHP (acronimo ricorsivo per "PHP:
Hypertext Preprocessor")
E’ un linguaggio di scripting general-
purpose Open Source
Sintassi semplice (simile al C)
Il codice è integrato all’iterno del codice
HTMLPHP - 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 dbmPrimi Passi …
Definizione dei Tag:
apertura
Esempio
Ciao, sono uno script PHP!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’]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[]
Click here to countGestione 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
Una funzione può essere definita usando la seguente sintassi: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 ”\n";
$linea = mysql_fetch_array($risultato, MYSQL_ASSOC);
echo "\t\n";
foreach ($linea as $nome_colonna => $valore_colonna) {
echo "\t\t$nome_colonna\n";
}
echo "\t\n";
do {
echo "\t\n";
foreach ($linea as $valore_colonna) {
echo "\t\t$valore_colonna\n";
}
echo "\t\n";
} while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC));
print "\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/Puoi anche leggere