Professional Documents
Culture Documents
La programmation objet avec PHP5 Bases de donnes et interfaces web Fonctionnement des sessions
Nicolas Moyroud
Cemagref - UMR TETIS
26 Juin 2008
Plan
Programmation oriente objet avec PHP5 Interaction avec les bases de donnes Dveloppement d'interfaces web pour les bases de donnes Principes de fonctionnement des sessions
Nicolas Moyroud
(Cemagref)
26 Juin 2008
2 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
3 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
3 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
3 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
3 / 31
En POO, l'lment de base est la classe qui est une reprsentation abstraite d'un objet, c'est une sorte de "moule objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modle "Clio", couleur "rouge" et vitesse "0" Les dirents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 4 / 31
En POO, l'lment de base est la classe qui est une reprsentation abstraite d'un objet, c'est une sorte de "moule objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modle "Clio", couleur "rouge" et vitesse "0" Les dirents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 4 / 31
En POO, l'lment de base est la classe qui est une reprsentation abstraite d'un objet, c'est une sorte de "moule objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modle "Clio", couleur "rouge" et vitesse "0" Les dirents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 4 / 31
En POO, l'lment de base est la classe qui est une reprsentation abstraite d'un objet, c'est une sorte de "moule objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modle "Clio", couleur "rouge" et vitesse "0" Les dirents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 4 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
5 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
5 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
5 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
5 / 31
Le principe de l'hritage est bas sur des classes lles qui hritent des caractristiques (attributs et mthodes) d'une classe mre Une classe lle peut galement dnir ses propres caractristiques Par exemple, on peut dnir une classe "Vhicule" dont hrite deux classes lles "Voiture" et "Camion" Ce principe permet la rutilisabilit et l'adaptabilit des objets
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 6 / 31
Le principe de l'hritage est bas sur des classes lles qui hritent des caractristiques (attributs et mthodes) d'une classe mre Une classe lle peut galement dnir ses propres caractristiques Par exemple, on peut dnir une classe "Vhicule" dont hrite deux classes lles "Voiture" et "Camion" Ce principe permet la rutilisabilit et l'adaptabilit des objets
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 6 / 31
Le principe de l'hritage est bas sur des classes lles qui hritent des caractristiques (attributs et mthodes) d'une classe mre Une classe lle peut galement dnir ses propres caractristiques Par exemple, on peut dnir une classe "Vhicule" dont hrite deux classes lles "Voiture" et "Camion" Ce principe permet la rutilisabilit et l'adaptabilit des objets
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 6 / 31
Le principe de l'hritage est bas sur des classes lles qui hritent des caractristiques (attributs et mthodes) d'une classe mre Une classe lle peut galement dnir ses propres caractristiques Par exemple, on peut dnir une classe "Vhicule" dont hrite deux classes lles "Voiture" et "Camion" Ce principe permet la rutilisabilit et l'adaptabilit des objets
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 6 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
7 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
7 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
7 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
7 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
7 / 31
class Vehicule { private $marque ; private $vitesse ; public function __construct ( $marque ) { $this >marque = $marque ; $this >vitesse = 0 ; / / un n o u v e a u v e h i c u l e
}
une
vitesse
nulle
{ dans { la classe
} }
Mots rservs : class, function, private, public, protected, __construct, __destruct, extends, implements, self, parent, $this, ->
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 8 / 31
class Voiture extends Vehicule { private $nombrePortes ; public function __construct ( $marque , $nbPortes ) parent : : __construct ( $marque ) ; $this >nombrePortes = $nbPortes ;
}
} }
$ma_voiture = new Voiture ( $marque , 5 ) ; $ma_voiture >accelerer ( 2 0 ) ; $ma_voiture >accelerer ( 5 ) ; echo ' nbPortes = ' . $ma_voiture >afficherNbPortes ( ) ; echo ' vitesse = ' . $ma_voiture >afficherVitesse ( ) ;
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 9 / 31
Plan
Programmation oriente objet avec PHP5 Interaction avec les bases de donnes Dveloppement d'interfaces web pour les bases de donnes Principes de fonctionnement des sessions
Nicolas Moyroud
(Cemagref)
26 Juin 2008
10 / 31
Le langage PHP supporte l'accs un grand nombre de systmes de gestion de bases de donnes : Oracle, PostgreSQL, MySQL, ... Permet de dvelopper des applications bases sur l'architecture client + serveur web + serveur de donnes Nativement, PHP propose des fonctions spciques chaque SGBD Il existe des librairies pour l'abstraction de bases de donnes qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects)
PDO : PEAR_MDB2 :
http://fr.php.net/pdo
http://pear.php.net/package/MDB2
26 Juin 2008 11 / 31
Nicolas Moyroud
(Cemagref)
Le langage PHP supporte l'accs un grand nombre de systmes de gestion de bases de donnes : Oracle, PostgreSQL, MySQL, ... Permet de dvelopper des applications bases sur l'architecture client + serveur web + serveur de donnes Nativement, PHP propose des fonctions spciques chaque SGBD Il existe des librairies pour l'abstraction de bases de donnes qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects)
PDO : PEAR_MDB2 :
http://fr.php.net/pdo
http://pear.php.net/package/MDB2
26 Juin 2008 11 / 31
Nicolas Moyroud
(Cemagref)
Le langage PHP supporte l'accs un grand nombre de systmes de gestion de bases de donnes : Oracle, PostgreSQL, MySQL, ... Permet de dvelopper des applications bases sur l'architecture client + serveur web + serveur de donnes Nativement, PHP propose des fonctions spciques chaque SGBD Il existe des librairies pour l'abstraction de bases de donnes qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects)
PDO : PEAR_MDB2 :
http://fr.php.net/pdo
http://pear.php.net/package/MDB2
26 Juin 2008 11 / 31
Nicolas Moyroud
(Cemagref)
Le langage PHP supporte l'accs un grand nombre de systmes de gestion de bases de donnes : Oracle, PostgreSQL, MySQL, ... Permet de dvelopper des applications bases sur l'architecture client + serveur web + serveur de donnes Nativement, PHP propose des fonctions spciques chaque SGBD Il existe des librairies pour l'abstraction de bases de donnes qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects)
PDO : PEAR_MDB2 :
http://fr.php.net/pdo
http://pear.php.net/package/MDB2
26 Juin 2008 11 / 31
Nicolas Moyroud
(Cemagref)
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
http://fr.php.net/manual/fr/ref.pgsql.php
Nicolas Moyroud
(Cemagref)
26 Juin 2008
12 / 31
$dbconn if
(!
pg_connect
$dbconn )
dbname = livres user = nmoyroud password = toto " ) ; { echo ' Erreur ' ; exit ; }
$result = pg_query ( $dbconn , " SELECT id , nom , email FROM auteurs " ) ; if ( ! $result ) { echo ' Erreur ' ; exit ; } echo '< table border ="1" cellspacing ="0" > ' ; echo '<tr ><td >Id </ td ><td > Auteur </ td ><td > Email </ td > </ tr > ' ; while ( $row = pg_fetch_assoc ( $result ) ) { echo '<tr ><td > ' . $row [ 'id ' ] . ' </td > ' ; echo '<td > ' . $row [ ' nom ' ] . ' </td > ' ; echo '<td > ' . $row [ ' email ' ] . ' </td > </ tr > ' ;
}
Nicolas Moyroud
(Cemagref)
26 Juin 2008
13 / 31
$dbconn if
// (!
pg_connect
$dbconn )
en
dbname = livres user = nmoyroud password = toto " ) ; { echo ' Erreur ' ; exit ; }
utilisant pg_query_params
$values = array ( $_POST [ ' nom ' ] , $_POST [ ' email ' ] ) ) ; $sql = ' INSERT INTO auteurs ( nom , email ) VALUES ($1 , $2 ) ' ; $result = pg_query_params ( $dbconn , $sql , $values ) ; if ( ! $result ) { echo " Erreur d ' insertion " ; exit ; }
//
Exemple
$nom = pg_escape_string ( $_POST [ ' nom ' ] ) ; $email = pg_escape_string ( $_POST [ ' email ' ] ) ; $sql = " INSERT INTO auteurs ( nom , email ) VALUES (' $nom ',' $email ')" ; $result = pg_query ( $dbconn , $sql ) ; if ( ! $result ) { echo " Erreur d ' insertion " ; exit ; }
Exemple
en
utilisant
pg_query
Nicolas Moyroud
(Cemagref)
26 Juin 2008
14 / 31
Plan
Programmation oriente objet avec PHP5 Interaction avec les bases de donnes Dveloppement d'interfaces web pour les bases de donnes Principes de fonctionnement des sessions
Nicolas Moyroud
(Cemagref)
26 Juin 2008
15 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
16 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
16 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
16 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
16 / 31
name=" formAuthor " action=" insertAuthor . php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> Email : <input type=" text " name=" email " size=" 30 " /> <br /> Pays : <select name=" pays "> < option value="1">USA</ option> < option value="2"> France</ option> < option value="3"> Angleterre</ option> </ select> <br /> < input type=" submit " value=" Envoyez " /> </ form>
Ce formulaire envoie les valeurs saisies au script PHP insertAuthor.php Deux champs texte permettent la saisie libre du nom et de l'email Un champ pays permet de choisir parmi une liste pr-dnie : la valeur envoye est celle prcise dans l'attribut value de l'option slectionne
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 17 / 31
name=" formAuthor " action=" insertAuthor . php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> Email : <input type=" text " name=" email " size=" 30 " /> <br /> Pays : <select name=" pays "> < option value="1">USA</ option> < option value="2"> France</ option> < option value="3"> Angleterre</ option> </ select> <br /> < input type=" submit " value=" Envoyez " /> </ form>
Ce formulaire envoie les valeurs saisies au script PHP insertAuthor.php Deux champs texte permettent la saisie libre du nom et de l'email Un champ pays permet de choisir parmi une liste pr-dnie : la valeur envoye est celle prcise dans l'attribut value de l'option slectionne
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 17 / 31
name=" formAuthor " action=" insertAuthor . php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> Email : <input type=" text " name=" email " size=" 30 " /> <br /> Pays : <select name=" pays "> < option value="1">USA</ option> < option value="2"> France</ option> < option value="3"> Angleterre</ option> </ select> <br /> < input type=" submit " value=" Envoyez " /> </ form>
Ce formulaire envoie les valeurs saisies au script PHP insertAuthor.php Deux champs texte permettent la saisie libre du nom et de l'email Un champ pays permet de choisir parmi une liste pr-dnie : la valeur envoye est celle prcise dans l'attribut value de l'option slectionne
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 17 / 31
$result = pg_query ( $dbconn , " SELECT id , nom_pays FROM pays " ) ; if ( ! $result ) { echo ' Erreur ' ; exit ; } echo '< select name =" pays "> ' ; while ( $row = pg_fetch_assoc ( $result ) ) { echo '< option value =" ' . $row [ 'id ' ] . '" > ' ; echo $row [ ' nom_pays ' ] ; echo ' </ option > ' ;
}
Exemple d'extraction de la liste des pays depuis une table de la base PHP est utilis ici en amont du formulaire de saisie
Nicolas Moyroud
(Cemagref)
26 Juin 2008
18 / 31
$result = pg_query ( $dbconn , " SELECT id , nom_pays FROM pays " ) ; if ( ! $result ) { echo ' Erreur ' ; exit ; } echo '< select name =" pays "> ' ; while ( $row = pg_fetch_assoc ( $result ) ) { echo '< option value =" ' . $row [ 'id ' ] . '" > ' ; echo $row [ ' nom_pays ' ] ; echo ' </ option > ' ;
}
Exemple d'extraction de la liste des pays depuis une table de la base PHP est utilis ici en amont du formulaire de saisie
Nicolas Moyroud
(Cemagref)
26 Juin 2008
18 / 31
$dbconn if
(!
pg_connect
$dbconn )
dbname = livres user = nmoyroud password = toto " ) ; { echo ' Erreur ' ; exit ; }
$values = array ( $_POST [ ' nom ' ] , $_POST [ ' email ' ] , $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom , email , id_pays ) VALUES ($1 ,$2 , $3 ) ' ; $result = pg_query_params ( $dbconn , $sql , $values ) ; if ( ! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base < br /> ' ; echo '<a href =" formAuthor . php "> Ajouter un autre auteur </ a > ' ;
Les valeurs saisies dans le formulaire sont stockes dans la base de donnes avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilis ici en aval du formulaire de saisie
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 19 / 31
$dbconn if
(!
pg_connect
$dbconn )
dbname = livres user = nmoyroud password = toto " ) ; { echo ' Erreur ' ; exit ; }
$values = array ( $_POST [ ' nom ' ] , $_POST [ ' email ' ] , $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom , email , id_pays ) VALUES ($1 ,$2 , $3 ) ' ; $result = pg_query_params ( $dbconn , $sql , $values ) ; if ( ! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base < br /> ' ; echo '<a href =" formAuthor . php "> Ajouter un autre auteur </ a > ' ;
Les valeurs saisies dans le formulaire sont stockes dans la base de donnes avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilis ici en aval du formulaire de saisie
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 19 / 31
$dbconn if
(!
pg_connect
$dbconn )
dbname = livres user = nmoyroud password = toto " ) ; { echo ' Erreur ' ; exit ; }
$values = array ( $_POST [ ' nom ' ] , $_POST [ ' email ' ] , $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom , email , id_pays ) VALUES ($1 ,$2 , $3 ) ' ; $result = pg_query_params ( $dbconn , $sql , $values ) ; if ( ! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base < br /> ' ; echo '<a href =" formAuthor . php "> Ajouter un autre auteur </ a > ' ;
Les valeurs saisies dans le formulaire sont stockes dans la base de donnes avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilis ici en aval du formulaire de saisie
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 19 / 31
$nom = trim ( $_POST [ ' nom ' ] ) ; $email = trim ( $_POST [ ' email ' ] ) ; if ( empty ( $nom ) | | empty ( $email ) ) { echo ' Veuillez saisir un nom et un email .< br /> ' ; echo '<a href =" formAuthor . php "> Recommencer la saisie </a > ' ;
}
else
{...
Traitement de la requete
...}
On contrle les valeurs nom et email qui sont obligatoires dans la base de donnes On pourrait ajouter le contrle du format de l'email avec une fonction qui appelerait par exemple une expression rgulire
Nicolas Moyroud
(Cemagref)
26 Juin 2008
20 / 31
$nom = trim ( $_POST [ ' nom ' ] ) ; $email = trim ( $_POST [ ' email ' ] ) ; if ( empty ( $nom ) | | empty ( $email ) ) { echo ' Veuillez saisir un nom et un email .< br /> ' ; echo '<a href =" formAuthor . php "> Recommencer la saisie </a > ' ;
}
else
{...
Traitement de la requete
...}
On contrle les valeurs nom et email qui sont obligatoires dans la base de donnes On pourrait ajouter le contrle du format de l'email avec une fonction qui appelerait par exemple une expression rgulire
Nicolas Moyroud
(Cemagref)
26 Juin 2008
20 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
21 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
21 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
21 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
21 / 31
les
valeurs
sont
validees ,
on
insere
du
formulaire
Nicolas Moyroud
(Cemagref)
26 Juin 2008
22 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
23 / 31
' Science - fiction ' ; ' Humour ' ; ' Litterature francaise ' ; = $select2 [ 1 ] [ 0 ] = $select2 = ' Isaac Asimov ' ; = ' Douglas Adams ' ; = ' Pierre Desproges ' ; = ' Raymond Devos ' ; = ' Victor Hugo ' ; = ' Emile Zola ' ;
[2][0]
$sel = $form a d d E l e m e n t ( ' h i e r s e l e c t ' , ' a u t e u r s ' , ' C h o i s i s s e z un auteur ' ) ; > $sel s e t O p t i o n s ( array ( $select1 , $ s e l e c t 2 ) ) ; > $ f o r m d i s p l a y ( ) ; // a f f i c h a g e du f o r m u l a i r e >
HTML_QuickForm ajoute des lments supplmentaires au HTML hierselect permet de raliser des listes droulantes lies : les valeurs aches dans la liste du dessous dpendront de la valeur choisie dans celle du dessus (avec autant de niveaux que l'on souhaite)
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 24 / 31
' Science - fiction ' ; ' Humour ' ; ' Litterature francaise ' ; = $select2 [ 1 ] [ 0 ] = $select2 = ' Isaac Asimov ' ; = ' Douglas Adams ' ; = ' Pierre Desproges ' ; = ' Raymond Devos ' ; = ' Victor Hugo ' ; = ' Emile Zola ' ;
[2][0]
$sel = $form a d d E l e m e n t ( ' h i e r s e l e c t ' , ' a u t e u r s ' , ' C h o i s i s s e z un auteur ' ) ; > $sel s e t O p t i o n s ( array ( $select1 , $ s e l e c t 2 ) ) ; > $ f o r m d i s p l a y ( ) ; // a f f i c h a g e du f o r m u l a i r e >
HTML_QuickForm ajoute des lments supplmentaires au HTML hierselect permet de raliser des listes droulantes lies : les valeurs aches dans la liste du dessous dpendront de la valeur choisie dans celle du dessus (avec autant de niveaux que l'on souhaite)
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 24 / 31
Plan
Programmation oriente objet avec PHP5 Interaction avec les bases de donnes Dveloppement d'interfaces web pour les bases de donnes Principes de fonctionnement des sessions
Nicolas Moyroud
(Cemagref)
26 Juin 2008
25 / 31
session_start ( ) ; if ( isset ( $_SESSION [ ' prenom ' ] ) ) { echo $_SESSION [ ' prenom ' ] ; } else { echo ' Aucun prenom enregistre . ' ; }
La session est cre ou r-ouverte avec la fonction session_start() Les informations sont stockes dans le tableau $_SESSION
Nicolas Moyroud
(Cemagref)
26 Juin 2008
28 / 31
session_start ( ) ; if ( isset ( $_SESSION [ ' prenom ' ] ) ) { echo $_SESSION [ ' prenom ' ] ; } else { echo ' Aucun prenom enregistre . ' ; }
La session est cre ou r-ouverte avec la fonction session_start() Les informations sont stockes dans le tableau $_SESSION
Nicolas Moyroud
(Cemagref)
26 Juin 2008
28 / 31
session_start ( ) ; unset ( $_SESSION [ ' prenom ' ] ) ; / / s u p p r e s s i o n d ' u n e v a r i a b l e $_SESSION = array ( ) ; / / s u p p r e s s i o n d e t o u t e s l e s v a r i a b l e s session_destroy ( ) ; / / d e s t r u c t i o n c o m p l e t e d e l a s e s s i o n
Ne jamais faire unset($_SESSION) car cela rend impossible tout accs ultrieur aux variables de session jusqu' sa destruction
Nicolas Moyroud
(Cemagref)
26 Juin 2008
29 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
30 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
30 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
30 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
30 / 31
Nicolas Moyroud
(Cemagref)
26 Juin 2008
30 / 31
require_once ' HTTP / AccessControl . class . php ' ; $acl = new AccessControl ( $dbconn , ' utilisateurs ' $acl >run ( ) ;
,1);
1er paramtre variable qui contient la connexion la base de donnes 2me paramtre nom de la table qui contient les utilisateurs (ses colonnes sont : id, login, password, userlevel) 3me paramtre niveau maximum que doit avoir l'utilisateur pour accder cette page (les utilisateurs de niveau 0 ont le maximum de droits)
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 31 / 31
require_once ' HTTP / AccessControl . class . php ' ; $acl = new AccessControl ( $dbconn , ' utilisateurs ' $acl >run ( ) ;
,1);
1er paramtre variable qui contient la connexion la base de donnes 2me paramtre nom de la table qui contient les utilisateurs (ses colonnes sont : id, login, password, userlevel) 3me paramtre niveau maximum que doit avoir l'utilisateur pour accder cette page (les utilisateurs de niveau 0 ont le maximum de droits)
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 31 / 31
require_once ' HTTP / AccessControl . class . php ' ; $acl = new AccessControl ( $dbconn , ' utilisateurs ' $acl >run ( ) ;
,1);
1er paramtre variable qui contient la connexion la base de donnes 2me paramtre nom de la table qui contient les utilisateurs (ses colonnes sont : id, login, password, userlevel) 3me paramtre niveau maximum que doit avoir l'utilisateur pour accder cette page (les utilisateurs de niveau 0 ont le maximum de droits)
Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin 2008 31 / 31