Introduzione a PHP Basi di Dati - Diego De Cao

Pagina creata da Roberta Schiavone
 
CONTINUA A LEGGERE
Introduzione a PHP
              Basi di Dati
             Diego De Cao
       decao@info.uniroma2.it

               a.a. 2007/2008
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
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
Puoi anche leggere