Programmation orientée objet et interfaces web en PHP

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Programmation orientée objet et interfaces web en PHP"

Transcription

1 Programmation orientée objet et interfaces web en PHP La programmation objet avec PHP5 Bases de données et interfaces web Fonctionnement des sessions Nicolas Moyroud Cemagref - UMR TETIS 26 Juin 2008

2 Programmation orientée objet avec PHP5 Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

3 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

4 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

5 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

6 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

7 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation 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", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents 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 / 31

8 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation 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", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents 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 / 31

9 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation 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", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents 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 / 31

10 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation 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", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents 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 / 31

11 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

12 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

13 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

14 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

15 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

16 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

17 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

18 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

19 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

20 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

21 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

22 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

23 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

24 Programmation orientée objet avec PHP5 La POO avec PHP5 Exemple de classe class Vehicule { private $marque ; private $vitesse ; public function construct ( $marque ) { $this >marque = $marque ; $this >vitesse = 0 ; // un nouveau v e h i c u l e a une v i t e s s e n u l l e } public function accelerer ( $vit ) { $this >vitesse += $vit ; // ok dans l a c l a s s e } public function affichervitesse ( ) { return $this >vitesse ; } } Mots réservés : class, function, private, public, protected, construct, destruct, extends, implements, self, parent, $this, -> Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

25 Programmation orientée objet avec PHP5 La POO avec PHP5 Héritage de classe class Voiture extends Vehicule { private $nombreportes ; public function construct ( $marque, $nbportes ) { parent : : construct ( $marque ) ; $this >nombreportes = $nbportes ; } public function affichernbportes ( ) { return $this >nombreportes ; } } Utilisation d'une classe $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 / 31

26 Interaction avec les bases de données Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

27 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

28 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

29 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

30 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

31 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

32 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

33 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

34 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

35 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

36 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

37 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

38 Interaction avec les bases de données Exemple d'interaction PHP/PostgreSQL Récupération d'enregistrements depuis une table $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $result = pg_query ( $dbconn, " SELECT id, nom, FROM auteurs " ) ; if (! $result ) { echo ' Erreur ' ; exit ; } echo ' <table border ="1" cellspacing ="0" > ' ; echo '<tr ><td >Id </ td ><td > Auteur </ td ><td > </ td > </ tr > '; while ( $row = pg_fetch_assoc ( $result ) ) { echo '<tr ><td > '. $row [ 'id ' ]. ' </td > ' ; echo '<td > '. $row [ 'nom ' ]. ' </td > ' ; echo '<td > '. $row [ ' ' ]. ' </td > </ tr > ' ; } echo ' </ table > ' ; Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

39 Interaction avec les bases de données Exemple d'interaction PHP/PostgreSQL Insertion d'enregistrements dans une table $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } // Exemple en u t i l i s a n t pg_query_params $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ] ) ) ; $sql = ' INSERT INTO auteurs ( nom, ) VALUES ($1, $2 ) ' ; $result = pg_query_params ( $dbconn, $sql, $values ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } // Exemple en u t i l i s a n t pg_query $nom = pg_escape_string ( $_POST [ ' nom ' ] ) ; $ = pg_escape_string ( $_POST [ ' ' ] ) ; $sql = " INSERT INTO auteurs ( nom, ) VALUES (' $nom ',' $ ')" ; $result = pg_query ( $dbconn, $sql ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

40 Développement d'interfaces web pour les bases de données Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

41 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

42 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

43 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

44 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

45 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " 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' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

46 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " 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' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

47 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " 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' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

48 Développement d'interfaces web pour les bases de données Exemple d'interface web Création dynamique de la liste pays $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 > ' ; } echo ' </ select > ' ; 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) POO et interfaces web en PHP 26 Juin / 31

49 Développement d'interfaces web pour les bases de données Exemple d'interface web Création dynamique de la liste pays $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 > ' ; } echo ' </ select > ' ; 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) POO et interfaces web en PHP 26 Juin / 31

50 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , 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 stockées dans la base de données 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 / 31

51 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , 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 stockées dans la base de données 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 / 31

52 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , 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 stockées dans la base de données 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 / 31

53 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : ajout du contrôle des valeurs saisies $nom = trim ( $_POST [ 'nom ' ] ) ; $ = trim ( $_POST [ ' ' ] ) ; if ( empty ( $nom ) empty ( $ ) ) { echo ' Veuillez saisir un nom et un . <br / > ' ; echo ' <a href =" formauthor. php " > Recommencer la saisie </ a>'; } else {... Traitement de la requete... } On contrôle les valeurs nom et qui sont obligatoires dans la base de données On pourrait ajouter le contrôle du format de l' avec une fonction qui appelerait par exemple une expression régulière Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

54 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : ajout du contrôle des valeurs saisies $nom = trim ( $_POST [ 'nom ' ] ) ; $ = trim ( $_POST [ ' ' ] ) ; if ( empty ( $nom ) empty ( $ ) ) { echo ' Veuillez saisir un nom et un . <br / > ' ; echo ' <a href =" formauthor. php " > Recommencer la saisie </ a>'; } else {... Traitement de la requete... } On contrôle les valeurs nom et qui sont obligatoires dans la base de données On pourrait ajouter le contrôle du format de l' avec une fonction qui appelerait par exemple une expression régulière Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

55 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

56 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

57 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

58 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

59 Développement d'interfaces web pour les bases de données Exemple d'utilisation de HTML_QuickForm formauthor.php : formulaire avec HTML_QuickForm r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = new H T M L _ Q u i c k F o r m ( ' f o r m A u t h o r ' ) ; $ f o r m >s e t D e f a u l t s ( a r r a y ( ' n o m ' => ' I s a a c A s i m o v ', ' e m a i l ' => ' a s i m o s c i - fi. pa ', ' p a y s ' => ' 1 ' ) ) ; $ f o r m >a d d E l e m e n t ( ' h e a d e r ', null, ' A u t e u r ' ) ; $ f o r m >a d d E l e m e n t ( ' t e x t ', ' n o m ', ' N o m : ', a r r a y ( ' s i z e '=>20, ' m a x l e n g t h '= >30)); $ f o r m >a d d E l e m e n t ( ' t e x t ', ' e m a i l ', ' E m a i l : ', a r r a y ( ' s i z e '=>30, ' m a x l e n g t h '= >50)); $ f o r m >a d d E l e m e n t ( ' s e l e c t ', ' p a y s ', ' P a y s : ', $ l i s t e _ p a y s ) ; $ f o r m >a d d E l e m e n t ( ' s u b m i t ', null, ' E n v o y e r ' ) ; $ f o r m >a p p l y F i l t e r ( ' A L L ', ' t r i m ' ) ; $ f o r m >a p p l y F i l t e r ( ' A L L ', ' p g _ e s c a p e _ s t r i n g ' ) ; $ f o r m >a d d R u l e ( ' n a m e ', ' S a i s i s s e z un n o m ', ' r e q u i r e d ', null, ' c l i e n t ' ) ; $ f o r m >a d d R u l e ( ' e m a i l ', ' S a i s i s s e z un e m a i l ', ' r e q u i r e d ', null, ' c l i e n t ' ) ; $ f o r m >a d d R u l e ( ' e m a i l ', ' E m a i l n o n v a l i d e ', ' r e g e x ', ' / ^ [ a - z0-9 _ \. - ] [ a - z0-9 _ - ] + \. [ a - z ] { 2 } $ / ', ' c l i e n t ' ) ; if ( $ f o r m >v a l i d a t e ( ) ) { // s i l e s v a l e u r s s o n t v a l i d e e s, on i n s e r e i n c l u d e ' i n s e r t A u t h o r. p h p ' ; e x i t ; } $ 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 Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

60 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

61 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

62 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

63 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

64 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

65 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

66 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Exemple de listes déroulantes liées avec hierselect r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = n e w H T M L _ Q u i c k F o r m ( ' e x a m p l e ' ) ; $ s e l e c t 1 [ 0 ] = ' S c i e n c e - f i c t i o n ' ; $ s e l e c t 1 [ 1 ] = ' H u m o u r ' ; $ s e l e c t 1 [ 2 ] = ' L i t t e r a t u r e f r a n c a i s e ' ; $ s e l e c t 2 [ 0 ] [ 0 ] = $ s e l e c t 2 [ 1 ] [ 0 ] = $ s e l e c t 2 [ 2 ] [ 0 ] = ' A u t e u r ' ; $ s e l e c t 2 [ 0 ] [ 1 ] = ' I s a a c A s i m o v ' ; $ s e l e c t 2 [ 0 ] [ 2 ] = ' D o u g l a s A d a m s ' ; $ s e l e c t 2 [ 1 ] [ 1 ] = ' P i e r r e D e s p r o g e s ' ; $ s e l e c t 2 [ 1 ] [ 2 ] = ' R a y m o n d D e v o s ' ; $ s e l e c t 2 [ 2 ] [ 1 ] = ' V i c t o r H u g o ' ; $ s e l e c t 2 [ 2 ] [ 2 ] = ' E m i l e Z o l a ' ; $ s e l = $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 a u t e u r ' ) ; $sel >s e t O p t i o n s ( a r r a y ( $ s e l e c t 1, $ 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 éléments supplémentaires au HTML hierselect permet de réaliser des listes déroulantes liées : les valeurs achées dans la liste du dessous dépendront 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 / 31

67 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Exemple de listes déroulantes liées avec hierselect r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = n e w H T M L _ Q u i c k F o r m ( ' e x a m p l e ' ) ; $ s e l e c t 1 [ 0 ] = ' S c i e n c e - f i c t i o n ' ; $ s e l e c t 1 [ 1 ] = ' H u m o u r ' ; $ s e l e c t 1 [ 2 ] = ' L i t t e r a t u r e f r a n c a i s e ' ; $ s e l e c t 2 [ 0 ] [ 0 ] = $ s e l e c t 2 [ 1 ] [ 0 ] = $ s e l e c t 2 [ 2 ] [ 0 ] = ' A u t e u r ' ; $ s e l e c t 2 [ 0 ] [ 1 ] = ' I s a a c A s i m o v ' ; $ s e l e c t 2 [ 0 ] [ 2 ] = ' D o u g l a s A d a m s ' ; $ s e l e c t 2 [ 1 ] [ 1 ] = ' P i e r r e D e s p r o g e s ' ; $ s e l e c t 2 [ 1 ] [ 2 ] = ' R a y m o n d D e v o s ' ; $ s e l e c t 2 [ 2 ] [ 1 ] = ' V i c t o r H u g o ' ; $ s e l e c t 2 [ 2 ] [ 2 ] = ' E m i l e Z o l a ' ; $ s e l = $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 a u t e u r ' ) ; $sel >s e t O p t i o n s ( a r r a y ( $ s e l e c t 1, $ 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 éléments supplémentaires au HTML hierselect permet de réaliser des listes déroulantes liées : les valeurs achées dans la liste du dessous dépendront 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 / 31

TP PHP : Bases de données et interfaces web

TP PHP : Bases de données et interfaces web TP PHP : Bases de données et interfaces web Nicolas Moyroud 18 juin 2008 1 Présentation générale du TP 1.1 Contexte et objectifs du TP Avec le langage PHP, vous allez réaliser des interfaces web qui vont

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Interface phpmyadmin Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

1. Avec un script php. 2. En utilisant phpmyadmin

1. Avec un script php. 2. En utilisant phpmyadmin Université Lumière - Lyon 2 Master d Informatique M1 - Année 2006-2007 Programmation Web - TDs n 8 9 : PHP - Mysql L. Tougne (http ://liris.cnrs.fr/laure.tougne), 20/11/06 L objectif de ce TD est d utiliser

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

COURS 6 Adopter un style de programmation clair

COURS 6 Adopter un style de programmation clair COURS 6 Adopter un style de programmation clair Lorsque votre site prend de l'importance, le code devient vite illisible et incompréhensible si vous ne pensez pas à l'organiser. Mais comment organiser

Plus en détail

Accès au SGBD MySQL avec PHP

Accès au SGBD MySQL avec PHP Accès au SGBD MySQL avec PHP Introduction Un des très grand avantage de PHP, est sans aucun doute l'accès facile à différentes bases de données telles que Oracle, Sybase, PostgreSQL ou MySQL que nous allons

Plus en détail

Interfaçage avec une base de données

Interfaçage avec une base de données Interfaçage avec une base de données Principe PHP propose de nombreux outils permettant de travailler avec la plupart des SGBD Oracle, Sybase, Microsoft SQL Server, PostgreSQL ou encore MySQL Php fournit

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

PHP - BD. PostgreSQL. Connexion (I) Présentation

PHP - BD. PostgreSQL. Connexion (I) Présentation PHP - BD PostgreSQL S. Lanquetin LE2I Aile sciences de l'ingénieur Bureau G206 sandrine.lanquetin@u-bourgogne.fr Présentation Connexion (I) PostgreSQL s'appuie sur le modèle relationnel mais apporte les

Plus en détail

Cours 9 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie 1 de 2)

Cours 9 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie 1 de 2) École de bibliothéconomie et des sciences de l information SCI6306 Bases de données documentaires Cours 9 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie

Plus en détail

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19 Programmation MySQL/PHP Programmation MySQL/PHP p.1/19 CGI et bases de données Principe : création de documents à partir d une BD MySQL se charge du stockage, de la protection des données, de l interface

Plus en détail

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015)

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Conception de Sites Web Dynamiques : TD 7 Inscription de membres - Variables de sessions - Formulaires pour insérer des images Version

Plus en détail

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL TP n 2: Mise en place d'un serveur Web avec PHP et MySQL Le but de ce TP est de vous apprendre comment installer et congurer un serveur Web avec PHP et MySQL sous Linux. Cela requiert plusieurs étapes

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Système d information

Système d information w w w. a g r o p a r i s t e c h. f r Système d information http://www.agroparistech.fr/systeme-d-information.html Requêtes MySQL en PHP avec AgroSIXPack Liliana IBANESCU UFR Informatique Département MMIP

Plus en détail

Programmation PHP Septembre 2010

Programmation PHP Septembre 2010 IFT1147 Programmation Serveur Web avec PHP Plan La POO en PHP Lecture du chapitre 20. Programmation par objets Introduction à la POO Objets et classes Propriétés Méthodes Private Héritage Polymorphisme

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr PHP OO et Pear DB Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Olivier.Perrin@loria.fr Classes et objets en PHP Une classe PHP regroupe des variables d instance, représentés

Plus en détail

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet Programmation orientée objet et événementielle en JavaScript Département SRC Pôle Universitaire de Vichy Bruno Bachelet «PARTIE IV Introduction au paradigme objet Programmation objet et événementielle

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

TP 5 Développement d une plateforme de travail collaboratif (en PHP OO)

TP 5 Développement d une plateforme de travail collaboratif (en PHP OO) TP Développement d une plateforme de travail collaboratif (en PHP OO) I. POO : Rappel - Introduction 1. Définition d'un objet L'exemple le plus pertinent quand on fait un cours sur la POO est d'utiliser

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Introduction Mysql API mysqli Annexe. Introduction à PHP. Web et SGBD : un exemple avec Mysql. IUT de Fontainebleau. 8 mars 2014. Introduction à PHP

Introduction Mysql API mysqli Annexe. Introduction à PHP. Web et SGBD : un exemple avec Mysql. IUT de Fontainebleau. 8 mars 2014. Introduction à PHP Web et SGBD : un exemple avec IUT de Fontainebleau 8 mars 2014 1 2 Modèle relationnel 3 4 listes des fonctions mysqli 1 2 Modèle relationnel 3 4 listes des fonctions mysqli Problématique Sites dynamiques

Plus en détail

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours HTML/PHP E.Coquery emmanuel.coquery@liris.cnrs.fr Pages Web Pages Web statiques Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis son navigateur. Adresse tapée, clic

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

PHP. PHP et bases de données

PHP. PHP et bases de données Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données

Plus en détail

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP.

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. TP5: LES FORMULAIRES OBJECTIFS : 1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. PARTIE 1: Formulaire

Plus en détail

Sécurité d un site php

Sécurité d un site php Sensibilisation IUT de Fontainebleau 8 juin 2015 1 2 1 2 Enjeux L application manipulent-ils des données fiables? L application interagit-elle avec le bon interlocuteur? Le secret des données échangées

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Université Mohamed Premier Année universitaire 2014/2015 Faculté des Sciences Filière SMI S6 Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Exercice 1 : Testez les

Plus en détail

Initiation aux bases de données et à la programmation événementielle

Initiation aux bases de données et à la programmation événementielle Initiation aux bases de données et à la programmation événementielle Cours N 6 : VBA sous ACCESS Souheib BAARIR. Page web : http://pagesperso-systeme.lip6.fr/souheib.baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr

Plus en détail

La classe MySQLi. mysqli mysqli_result mysqli_stmt

La classe MySQLi. mysqli mysqli_result mysqli_stmt La classe MySQLi mysqli mysqli_result mysqli_stmt Créa5on de l objet define("myhost","localhost"); define("myuser","root"); define("mypass",""); func5on connexobjet($base,$param) { include_once($param.".inc.php");

Plus en détail

PHP5. Programmation orientée objet. A. Belaïd 1

PHP5. Programmation orientée objet. A. Belaïd 1 PHP5 Programmation orientée objet A. Belaïd 1 La POO en PHP Intérêt Progrès par rapport à la version PHP4 Permet de rassembler autour d un même objet (concept), une définition, des attributs et des méthodes

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL L3 - SITES WEB DYNAMIQUES MINI-WALL 1 Introduction L'objectif de ce TD est de mettre en place un mini "livre d'or", permettant à vos visiteurs de vous laisser des messages sur votre site. Une page affiche

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Classes et objets en PHP. PHP OO et Pear DB. Classe, attributs, méthodes. Classes et objets en PHP (2) Classe, attributs, méthodes (3)

Classes et objets en PHP. PHP OO et Pear DB. Classe, attributs, méthodes. Classes et objets en PHP (2) Classe, attributs, méthodes (3) Classes et objets en PHP PHP OO et Pear DB Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Une classe PHP regroupe des variables d instance, représentés par des variables

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données 1. Exploiter une couche métier objet PHP prend en charge certains des grands principes du paradigme objet (héritage,

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

PHP et MySQL : notions de sécurité

PHP et MySQL : notions de sécurité PHP et MySQL : notions de sécurité Jean-Baptiste.Vioix@u-bourgogne.fr Dans ces quelques lignes des notions de sécurité élémentaires vont être présentées. Elles sont insuffisantes pour toute application

Plus en détail

Interfaçage avec une base de données

Interfaçage avec une base de données Interfaçage avec une base de données Principe PHP propose de nombreux outils permettant de travailler avec la plupart des SGBD Oracle, Sybase, Microsoft SQL Server, PostgreSQL ou encore MySQL Php fournit

Plus en détail

Annexe 1 Introduction au langage PHP

Annexe 1 Introduction au langage PHP Annexe 1 Introduction au langage PHP 1. Généralités Le langage PHP/FI (Personal Home Page / Form Interpreter) a été créé en 1994 par Rasmus Lerdorf, un programmeur Danois, pour son usage personnel. En

Plus en détail

Webmaster : Installation de l'incentive. Objet : Récupération du tag de rotation à placer sur une page de votre site.

Webmaster : Installation de l'incentive. Objet : Récupération du tag de rotation à placer sur une page de votre site. Webmaster : Installation de l'incentive Objet : Récupération du tag de rotation à placer sur une page de votre site. Connectez vous sur votre compte webmaster, puis cliquez dans le menu sur «Tag de diffusion»

Plus en détail

Qu'est-ce que Mysql?

Qu'est-ce que Mysql? Mysql avec php Qu'est-ce que Mysql? Annie Danzart Annie.Danzart@enst.fr http://www.infres.enst.fr/~danzart/mysql/ Qu est-ce que Mysql? Aperçu Langage Le serveur La base de données Interfaces d accès Fonctions

Plus en détail

SELECT FROM WHERE DISTINCT TOP n INSERT INTO VALUES UPDATE

SELECT FROM WHERE DISTINCT TOP n INSERT INTO VALUES UPDATE LES REQUETES SQL Sélectionner des enregistrements La requête SELECT est utilisée pour rechercher des enregistrements d'une table, elle s'emploie avec FROM qui est utilisé pour spécifier le nom de la table.

Plus en détail

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration statiques LIF4 - Initiation aux Bases de données : E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis

Plus en détail

Mémento Site Dynamique / PHP

Mémento Site Dynamique / PHP Mémento Site Dynamique / PHP Pour faire fonctionner site statique : Navigateur Éditeur de texte Apache/PHP/MySQL (qu'on peut retrouver dans WampServer (uniquement Windows)) Inclure les portions de page

Plus en détail

TD 1 - Programmation Web avec PHP (1)

TD 1 - Programmation Web avec PHP (1) TD 1 - Programmation Web avec PHP (1) CORRIGE DU TD 1 Objectif : créer des scripts du côté serveur avec PHP, utiliser quelques fonctionnalités Internet de PHP Attention : si vous recréez des pages PHP

Plus en détail

Développement de l interface Web du projet Hôpital

Développement de l interface Web du projet Hôpital Pôle informatique 2013/2014 École Nationale Supérieure des Mines de Saint-Étienne Développement de l interface Web du projet Hôpital Antoine Zimmermann antoine.zimmermann@emse.fr Le cahier des charges

Plus en détail

Comment développer et intégrer un module à PhpMyLab?

Comment développer et intégrer un module à PhpMyLab? Comment développer et intégrer un module à PhpMyLab? La structure du fichier Afin de conserver une homogénéité et une cohérence entre chaque module, une structure commune est utilisée pour chacun des modules

Plus en détail

Rapport SQL Vincent Maréchal 3EI3-2009

Rapport SQL Vincent Maréchal 3EI3-2009 Rapport SQL Vincent Maréchal 3EI3-2009 Objectifs Les objectifs de ce cours ont été de découvrir les outils de web et la mise en ligne de fichiers sur un server ftp. De revoir les bases en html CSS et de

Plus en détail

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

Plus en détail

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation Un peu d'organisation Conception et Programmation par Objets HLIN406 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 Premières semaines Contrôle des connaissances Supports 2015 Sommaire

Plus en détail

ISBN : 2-212-11407-9

ISBN : 2-212-11407-9 Groupe Eyrolles, 2005, ISBN : 2-212-11407-9 Table des matières Avant-propos................................................ XV CHAPITRE 1 Introduction..................................................

Plus en détail

Cours Programmation ObjetS en PHP. Ph. Declerck

Cours Programmation ObjetS en PHP. Ph. Declerck Cours Programmation ObjetS en PHP Ph. Declerck 1.Généralités a. Motivation Terminologie Classe : modèle d'objets composé de données (attributs, propriétés) et de fonctions (méthodes) Objet : une instance

Plus en détail

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4.

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. I Affichage du formulaire et envoi de données A gauche le code d'une page HTML et à droite son affichage

Plus en détail

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015 PHP MySQL N 2 IUT MMI Saint Raphaël 2014-2015 Base de données : Utilisation avec PHP Se connecter à la base de données PHP propose plusieurs moyens de se connecter à une base de données MySQL : - L'extension

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

PHP Et Les Bases De Données 22 février 2006

PHP Et Les Bases De Données 22 février 2006 Conservatoire National des Arts et Métiers FOD Ile de France UE NFA054 PHP Et Les Bases De Données 22 février 2006 Version Auteur Commentaires 22 février 2006 Florent Brusciano Version Initiale Tous droits

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

Partie HTML TD 6 : Liens hypertexte et formulaires

Partie HTML TD 6 : Liens hypertexte et formulaires Partie HTML TD 6 : Liens hypertexte et formulaires 1. Les liens hypertextes Ils permettent la navigation dans les sites Web. Il y a 3 types de liens : - Les liens internes à un site - Les liens internes

Plus en détail

4D Business Kit 2.1 et la solution de paiement Sogenactif de la Société Générale

4D Business Kit 2.1 et la solution de paiement Sogenactif de la Société Générale 4D Business Kit 2.1 et la solution de paiement Sogenactif de la Société Générale Contact : http://www.sogenactif.fr Voici l ensemble des fichiers fournis avec 4D Business Kit qui sont concernés par la

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay Université Paris Sud le mode programme JDBC JDBC : qu'est ce que c'est? Avantages? devant

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

TD2 : PHP «avancé» V3.0.0

TD2 : PHP «avancé» V3.0.0 TD2 : «avancé» V3.0.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document en ligne

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Inf340 Systèmes d information. Deuxième site : approche MVC

Inf340 Systèmes d information. Deuxième site : approche MVC Inf340 Systèmes d information Deuxième site : approche MVC Objectifs Objectif : Reprendre le site précédent en utilisant le patron de conception Modèle Vue Contrôleur. Comprendre l apport d un framework

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Apprendre à développer un site web

Apprendre à développer un site web Ce livre s adresse à un public de développeurs débutants connaissant déjà le HTML et les CSS et qui souhaitent bien comprendre le fonctionnement d une application web pour créer leurs propres sites web

Plus en détail

Formation web. Antoine Souques. 25 février 2010 ECP

Formation web. Antoine Souques. 25 février 2010 ECP Formation web ECP 25 février 2010 Pré-requis Présentation Formation HTML/CSS Formation PHP (pour l'ajax) Ce qu'on sait faire Faire des pages web (HTML/CSS) Avoir des pages évolutives (PHP) stocker et consulter

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP Formulaires HTML et PHP, interactions avec le client IUT de Fontainebleau 6 avril 2015 1 Formlaire et traitement 2 Texte Cases à cocher Listes Upload de fichiers Sommaire Formlaire et traitement 1 Formlaire

Plus en détail

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL Bases de données (INF225), TELECOM ParisTech TP PHP & MySQL Pierre Senellart (pierre.senellart@telecom-paristech.fr) Bogdan Cautis (bogdan.cautis@telecom-paristech.fr) Ioana Ileana (ioana.ileana@telecom-paristech.fr)

Plus en détail

Conception et Implémentation

Conception et Implémentation I. INTRODUCTION Dans ce chapitre on va définir la conception de notre site web dynamique et nous expliquons les étapes de réalisation, les outils utilisés et l interface principale ainsi que les différentes

Plus en détail

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année Bases de Données et Ingénierie des Systèmes d Information 1 PHP/MySQL École Nationale Supérieure des Mines de Nancy 2nde Année Table des matières I PHP 2 1 Les bases 2 1.1 Introduction........................................

Plus en détail

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux Développeur d applications COMPTE RENDU D ACTIVITE ACTIVITE N 4 Nom et Prénom : BUISSON Pierre-Adrien EPSI Lyon 107 rue de Marseille 69 007

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Stockage du fichier FITS dans une table MySQL Nous utiliserons des types de données spéciaux, qui sont les BLOBS (binary large objects).

Stockage du fichier FITS dans une table MySQL Nous utiliserons des types de données spéciaux, qui sont les BLOBS (binary large objects). Stockage des fichiers FITS du téléscope MISOLFA dans une base de donnée MySQL avec PHP Auteur : Erwan Simon CNRS UMR 6202 O.C.A Département Cassiopée Le 24/05/2009, Le but de ce document est de donner

Plus en détail

Dojo partie 1. Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax

Dojo partie 1. Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax Dojo partie 1 Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax 1 Modules Dojo 3 espaces de noms principaux: dojo: bibliothèque de base dijit: bibliothèque de widgets

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011 1 / 56 Développement Web Le modèle MVC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 24 janvier 2011 2 / 56 Objectif Objectif du cours Se familiariser avec

Plus en détail

Interfaçage de programmation. c Olivier Caron

Interfaçage de programmation. c Olivier Caron Interfaçage de programmation 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. L aspect

Plus en détail