Introduzione a PHP Diego De Cao, Roberto Basili - Gestione dei Dati e della Conoscenza

Pagina creata da Camilla Fumagalli
 
CONTINUA A LEGGERE
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 general-
    purpose 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 …

                                  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 count
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
       
   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