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

Documents pareils
PHP 4 PARTIE : BASE DE DONNEES

CREATION WEB DYNAMIQUE

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)

Mysql avec EasyPhp. 1 er mars 2006

Pratique et administration des systèmes

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

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

Olivier Mondet

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

1 Introduction et installation

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Bases de données relationnelles

Les BASES de DONNEES dans WampServer

Le langage SQL (première partie) c Olivier Caron

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Information utiles. webpage : Google+ : digiusto/

PROJET 1 : BASE DE DONNÉES REPARTIES

Notes de cours : bases de données distribuées et repliquées

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

PDO : PHP Data Object 1/13

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Les bases de données

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

I. MySQL : Serveur et SGBD

Introduction aux SGBDR

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Présentation du module Base de données spatio-temporelles

Open Source Job Scheduler. Installation(s)

BTS/CGO P10 SYSTEME INFORMATION Année

Documentation de conception

Architecture de la plateforme SBC

FileMaker 13. Guide ODBC et JDBC

Gestion de stock pour un magasin

Bases de données et sites WEB Licence d informatique LI345

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Langage SQL : créer et interroger une base

Devenez un véritable développeur web en 3 mois!

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Installation et utilisation du client FirstClass 11

Compte Rendu d intégration d application

SYSTÈMES D INFORMATIONS

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Attaques applicatives

Stockage du fichier dans une table mysql:

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

OpenPaaS Le réseau social d'entreprise

PHP et les Bases de données - Généralités

Cours Base de données relationnelles. M. Boughanem, IUP STRI

TP JAVASCRIPT OMI4 TP5 SRC

LES ACCES ODBC AVEC LE SYSTEME SAS

1 Position du problème

Chapitre 1 : Introduction aux bases de données

Le Langage De Description De Données(LDD)

TP Contraintes - Triggers

Encryptions, compression et partitionnement des données

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Installation d'un serveur FTP géré par une base de données MySQL

PHP. PHP et bases de données

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Le langage SQL Rappels

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Programmation Web. Madalina Croitoru IUT Montpellier

Bases de données élémentaires Maude Manouvrier

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Manuel du logiciel PrestaTest.

Application web de gestion de comptes en banques

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Introduction au Système de Gestion de Base de Données et aux Base de Données

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

1. Base de données SQLite

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Utilisation de GalaxShare

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Transcription:

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 réservés. Ce document est un support de cours à l'usage exclusif des auditeurs du Cnam dans le cadre de leur formation. Tout autre usage est interdit sans l'autorisation écrite de l auteur. PHP et les bases de données 1

SOMMAIRE 1 Le concept de base de données relationnelles 3 1.1 Qu est ce qu une base de données relationnelles? 3 1.2 Qu est ce qu une table? 3 1.3 Principes élémentaires pour la création d un SGBD 3 2 Le schéma E-A 4 2.1 Le thème 4 2.2 Le schéma entité association 4 3 Le schéma relationnel 5 4 Les commandes SQL de base 5 4.1 Manipuler des données 5 4.2 Insérer des données 6 4.3 Supprimer des données 6 4.4 Modifier des données 6 5 Les fonctions PHP pour travailler avec MySQL 7 5.1 Les fonctions de bases 7 5.2 La connexion à la base de données 7 5.3 Utiliser des variables de connexions 8 5.4 La gestion des erreurs 8 5.5 Traitement des résultats 9 6 Ecrire un gestionnaire de connexion 10 7 L exemple du carnet d adresses 12 7.1 La classe des contacts 12 7.2 Le fichier contact.php 14 PHP et les bases de données 2

1 Le concept de base de données relationnelles 1.1 Qu est ce qu une base de données relationnelles? Une base de données est un ensemble de données organisées sous forme de tables et de relations. Une base de données couvre un domaine de gestion précis par exemple : la gestion des clients, la gestion des ventes, la gestion des achats 1.2 Qu est ce qu une table? Une table est une entité qui regroupe un certain nombre de propriétés descriptives communes. Plus simplement, une table est un tableau dans lequel : - Les lignes constituent des enregistrements, on parle aussi de tuples. - Les colonnes représentent des champs. 1.3 Principes élémentaires pour la création d un SGBD La création d une base de données doit s astreindre à certaines règles : - Chaque table doit comprendre un champ défini comme clé primaire, celle-ci permet d'identifier de manière unique chaque enregistrement. - Les données doivent être élémentaires par exemple, le champ Identité contenant le nom et le prénom d une personne n'est pas élémentaire, il faut créer un champ Nom et un champ Prénom. - Les données calculées sont éliminées, car elles peuvent être recalculées de manière dynamique et n'ont donc pas besoin d'occuper de l'espace disque. - Il faut éliminer les informations redondantes. - Aucune table ne peut être isolée. - Les relations entre les tables doivent être du type [1,1], [1,N] ou [N,M]. PHP et les bases de données 3

2 Le schéma E-A Avant de démarrer un projet sur un système de gestion de base de données relationnel, il faut faire une analyse du problème. La phase de conception vous permet ainsi d éviter un certain nombre d erreurs lors de l implémentation de votre base. 2.1 Le thème Vous souhaitez mettre en place pour vos proches et amis un petit système de carnet d adresse en ligne. Ce carnet d adresse va permettre de stocker des informations sur des contacts. Vous envisagez d'utiliser le S.G.B.D. relationnel MySQL pour assurer le fonctionnement de votre futur application. Chaque utilisateur de votre application est référencé par un numéro unique, un identifiant et un mot de passe. Un utilisateur peut posséder plusieurs contacts et un contact appartient à un ou plusieurs utilisateurs. Des contacts on connaît le nom, le prénom, le téléphone, le portable, l adresse électronique et un numéro unique. 2.2 Le schéma entité association Ce schéma est la traduction photographique de l énoncé qui se trouve ci-dessus. Son intérêt est de pouvoir visualiser très rapidement les dépendances inter entités afin d y déceler une erreur. Users [N,M] Contacts NumUser Name Firstname Login Pwd 0,n TO OWN 1,n NumContact Name Firstname Mail Tel1 Tel2 Si vous n êtes pas familiarisé avec ce type de schéma, il existe une méthode simple pour le rédiger : 1. On recherche les entités (objets). 2. On écrit les champs à l intérieur des entités sans oublier de spécifier la clé primaire. 3. On écrit les relations qui permettent de faire communiquer les entités. 4. On inscrit les cardinalités sur les relations. PHP et les bases de données 4

3 Le schéma relationnel Le schéma est la dernière étape de conception avant de passer à l implémentation des tables sous MySQL. Il permet de visualiser les tables et les champs qui feront partie de notre application ainsi que l apparition des clés étrangères si elles existent. Users (NumUser, Name, Firstname, Login, Pwd) Contacts (NumContact, Name, Firstname, Tel1, Tel2, Mail) Own (NumUser, NumContact) La phase de conception est terminée, nous pouvons passer à la réalisation de notre application sous MySQL. 4 Les commandes SQL de base Pour commencer, il faut créer une base de données et une table. Une base de données est constituée d'un ensemble de tables contenant les données. La base de données correspond donc en quelque sorte à un dossier, qui contient des fichiers. Reportez vous au chapitre d utilisation de MySQL pour créer votre base de données. 4.1 Manipuler des données 4.1.1 La projection La commande "SELECT" permet de sélectionner des données afin de les afficher. C'est certainement la commande SQL la plus complexe, nous allons donc, dans un premier temps, simplifier sa syntaxe au maximum. SELECT selection_col,... FROM table Exemple : Afficher tous les noms de la table des utilisateurs SELECT Name FOM Users; 4.1.2 La selection SELECT selection_col,... FROM table WHERE condition(s) Exemple : Afficher tous les prénoms des utilisateurs dont le nom est Brusciano SELECT Firstname FROM Users WHERE Name = Brusciano ; PHP et les bases de données 5

4.2 Insérer des données Il faut insérer des données afin de pouvoir les manipuler par la suite. La commande "INSERT" permet de le faire. Sa syntaxe simplifiée est : INSERT INTO nom_table (nom_col,...) VALUES (expression,...),(...),... Exemple: INSERT INTO `users` ( `NumUser`, `Name`, `Firstname` ) VALUES ('', 'Brusciano', 'Michel'); 4.3 Supprimer des données La commande "DELETE" se charge d'effacer les données. Sa syntaxe simplifiée est : DELETE FROM nom_table WHERE condition(s) Pour effacer toutes les données d'une table : DELETE FROM Users ; Attention, si vous oubliez la clause WHERE, vous pouvez supprimer par erreur des enregistrements. 4.4 Modifier des données La commande "UPDATE" met à jour les données dans une table. Sa syntaxe simplifiée est : UPDATE nom_table SET col1=expr1,col2=expr2,... WHERE condition(s) Exemple, modifier le prénom de l utilisateur numéro 3 : UPDATE Users SET Firstname='Françoise' WHERE NumUser='3'; Faites attention, il est facile de faire une erreur en oubliant la clause WHERE et en modifiant ainsi tous les enregistrements de la table. PHP et les bases de données 6

5 Les fonctions PHP pour travailler avec MySQL PHP permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par PHP, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de données. La communication avec les bases de données se fait à l'aide du langage SQL (Structured Query Language), reconnu par l'ensemble des SGBD. MySQL fait partie intégrante de la plateforme LAMP (Linux Apache MySQL PHP). C est une des raisons de son succès. Il faut aussi se souvenir, qu il est gratuit, rapide et fonctionne sous un grand nombre de systèmes d exploitation. 5.1 Les fonctions de bases PHP offre un grand choix de fonctions pour manipuler les bases de MySQL. Vous pouvez trouvez l ensemble de ces fonctions à l adresse suivante : http://fr.php.net/manual/fr/ref.mysql.php Parmi l ensemble des fonctions, quatre sont essentielles: - La fonction de connexion au serveur : mysql_connect() - La fonction de choix de la base de données : mysql_select_db() - La fonction d envoi de requêtes au serveur : mysql_query() - La fonction de déconnexion : mysql_close() Nous allons maintenant utiliser la première fonction pour nous connecter à la base de données. 5.2 La connexion à la base de données La première étape consiste à réussir à se connecter à la base mysql. La fonction mysql_connect permet de réussir cette connexion à condition de spécifier un certain nombre de paramètres obligatoires : - Le serveur : ce nom peut être un nom de domaine ou une adresse IP. Il peut aussi inclure le numéro de port. - Le nom d utilisateur : le nom d'utilisateur de la base de données par défaut est root. - Le mot de passe : la valeur par défaut est vide. La connexion à la base de données peut donc s effectuer de la manière suivante : /* mysql_connect_1.php */ $link = mysql_connect('localhost', 'root', ''); if (!$link) { echo 'Erreur de connection'; else { echo 'Connection OK'; mysql_close($link); PHP et les bases de données 7

5.3 Utiliser des variables de connexions Lors du développement de pages PHP, pour un site spécifique, on utilise : le même serveur MySQL, le même utilisateur, le même mot de passe et souvent la même base de données. Il devient utile de stocker ces informations dans des variables réutilisables sur toutes vos pages. Créez un fichier nommé config.inc.php et déclarez les variables qui vont permettre la connexion à la base de données. $user = utilisateur ; $passwd = mot de passe ; $host = serveur ; $bdd = base de données ; /* config.inc.php */ $host = 'localhost'; $user = 'root'; $pass = ''; /* mysql_connect_2.php */ require_once('config.inc.php'); $link = mysql_connect($host, $user, $pass); if (!$link) { echo 'Erreur de connection'; else { echo 'Connection OK'; mysql_close($link); 5.4 La gestion des erreurs Certaines des fonctions renvoient une valeur permettant de connaître l'état de la connexion, ainsi il est possible d'interrompre le script afin d'éviter les erreurs en cascade. Il est toujours préférable de vérifier le retour de toutes les fonctions afin de prévenir une éventuelle panne du SGBD. La méthode la plus simple consiste en trois points : 1. Enregistrer le retour de la fonction dans une variable. 2. Tester la valeur de la variable. 3. Si une erreur survient : a. Afficher le message d erreur à l aide de la fonction mysql_error(). PHP et les bases de données 8

b. Arrêter l exécution du script à l aide de la fonction die() ou exit(). /* mysql_error.php */ require_once('config.inc.php'); $link = mysql_connect($host, $user, $pass); mysql_select_db("nonexistentdb", $link) or die(mysql_errno($link). ": ". mysql_error($link)); 5.5 Traitement des résultats Lorsque l'on effectue une requête de sélection à l'aide de la fonction mysql_query, il est essentiel de stocker le résultat de la requête dans une variable, que l'on nomme généralement $result. Dans le cas d une requête de type SELECT, cette variable contient l'ensemble des enregistrements. Voici à quoi ressemble le contenu de la variable $result après l exécution de la requête : SELECT * FROM Users ; NumUser Name Firstname 1 Brusciano Florent 2 Brusciano Josselin Il faut découper cette variable ligne par ligne afin d atteindre les informations. On utilise la fonction mysql_fetch_row(), qui découpe les lignes de résultats en colonnes et les affecte à un tableau associatif. Beaucoup de développeurs utilisent mysql_fetch_row() mais d autres fonctions sont utilisables : - mysql_fetch_array() - mysql_fetch_assoc() - mysql_fetch_object() - mysql_fetch_field() - PHP et les bases de données 9

/* mysql_fecht_row.php */ require_once('config.inc.php'); $link = mysql_connect($host, $user, $pass); if (!$link) { die('invalid connection: '. mysql_error()); if (!mysql_select_db('contact', $link)) { die('ivalid database selection '. mysq_error()); $result = mysql_query('select * FROM Users', $link); if (!$result) { die('invalid query: '. mysql_error()); while($row = mysql_fetch_row($result)) { echo $row[0].' '.$row[1].' '.$row[2]. '<br/>'; 6 Ecrire un gestionnaire de connexion Dans l implémentation d un site web en PHP, on souhaite ne plus manipuler de manière répétitive et fastidieuse les fonctions pour accéder à la base de données. Il faut mettre en place une couche objet entre le programmeur et les fonctions PHP. Cette initiative a pour avantages : - Un code plus simple, plus léger et plus rapide à écrire pour accéder aux bases de données. - Une interchangeabilité de la base de données sans modifier le code de vos pages PHP. - Une gestion des erreurs plus fine. Le gestionnaire de connexion doit, au minimum réaliser trois taches : - L initialisation des valeurs de connexion à la base de donnée. - La connexion à la base de données. L objet gestionnaire possède une méthode nommée «connect». - L exécution d une requête SQL. L objet possède une méthode nommée «execute». PHP et les bases de données 10

Voici un exemple présentant une écriture minimale de l objet connexion avec son utilisation : class mysql { var $user; var $host; var $password; var $base; /** * Constructor */ function mysql() { $this->user = 'root'; $this->base = 'contact'; $this->host = 'localhost'; $this->password = ''; /** * Connects to a MySQL database * */ function connect() { mysql_connect($this->host, $this->user, $this->password); mysql_select_db($this->base); /** * Executes a SQL query. * */ function execute($sql = '') { $result = mysql_query($sql); return $result; $db = new mysql(); $db->connect(); $result = $db->execute("select * FROM Users;"); while($row = mysql_fetch_array($result)) { echo $row['name']." ".$row['firstname'].'<br/>'; Il existe une pléthore de gestionnaires. Je vous laisse le soin de découvrir un exemple plus complet lors de la lecture des fichiers sources de ce cours. PHP et les bases de données 11

7 L exemple du carnet d adresses Votre carnet d adresses va permettre à un utilisateur d envoyer des courriers électroniques en choisissant ses destinataires à l aide de votre outil. L application se compose des fichiers et dossier suivant : - Un répertoire nommé «css»contenant une feuille de style. - Un répertoire nommé «images» contenant quelques icônes. - Un répertoire nommé «libs» contenant les objets PHP : o Le fichier navigation.class.php : vu dans le chapitre 9 o Le fichier contact.class.php : l interface des utilisateurs o Le fichier db.class.php : le gestionnaire de connexion - Le fichier index.php contenant le formulaire d envoie de mail. Ce fichier est un fichier PHP, mais il ne contient que du HTML. Il ne tient qu à vous d y ajouter l envoie d email en utilisant PHP. - Le fichier contact.php qui contient votre carnet d adresses 7.1 La classe des contacts La classe des contactes se comporte comme une boite à outil permettant d effectuer des opérations complexes sur la base de donnée sans mélanger la mécanique (PHP) et le design (HTML). Les avantages de passer par une couche d abstraction supplémentaire sont : - L écriture un code stable et réutilisable - Le langage SQL est stocké à un endroit unique - Le mélange de PHP et de HTML est réduit à sa plus simple expression Avant d écrire un objet de ce type, il faut savoir : - Quels sont les services que l on attend de lui? - Quelles sont les propriétés qui le composent? Les propriétés sont simple à déterminées. Ce sont principalement les champs de la base que notre objet représente. Notre objet permet de manipuler les données de la table «contacts», il possède donc les propriétés suivantes : - NumContact - Name - Firstname - Mail - class contact { var $id; var $userid; var $name; var $firstname; var $email; PHP et les bases de données 12

Il faut ensuite définir des accesseurs pour les propriétés que nous venons de déclarer. Les accesseurs sont des méthodes précéder du préfixe «get» ou «set». Par exemple la propriété «Name» possède deux accesseurs : - La méthode «getname» qui retourne la valeur de la propriété Name - La méthode «setname» qui modifie ou initialise la valeur de la propriété Name Il est préférable de définir les accesseurs pour l ensemble des propriétés de l objet. class contact { /* déclaration des accesseurs */ function get_id() { return $this->id; function set_id($id) { $this->id = $id; function get_id_user() { return $this->iduser; function set_id_user($iduser) { $this->iduser = $iduser; function get_name() { return $this->name; function set_name($name) { $this->name = $name; function get_firstname() { return $this->firstname; function set_firstname($firstname) { $this->firstname = $firstname; function get_email() { return $this->email; function set_email($email) { $this->email = $email; PHP et les bases de données 13

Les services rendus par l objet vont se matérialiser par des méthodes ou fonction qui vont effectuer le traitement des données. L objet doit permettre les services suivants : - Ajouter un contact dans la table. L objet possède une méthode nommé «add». - Modifier les données d un contact dans la table. L objet possède une méthode nommé «mod». - Supprimer un contact de la table. L objet possède une méthode nommé «del». - Lister l ensemble des contacts de la table. L objet possède une méthode nommé «get_all». class contact { function add() { // Ajout du code SQL function mod() { // Ajout du code SQL function del() { // Ajout du code SQL function get_all(&$rows) { // Ajout du code SQL 7.2 Le fichier contact.php Le fichier «contact.php» réalise visuellement les fonctions d ajout, de suppression, de modification et de listage du carnet d adresse. En fait, ce fichier ne gère que le rendu graphique puisque toutes les fonctions sont déléguées à la classe «contact.class.php». Néanmoins, le fichier «contact.php» s acquitte de la gestion de l envoie et de la récupération des données du formulaire HTML. Il gère aussi un certain nombre de fonctions écrites en langage JavaScript. PHP et les bases de données 14

Voici comment le fichier «contact.php» appel les fonctions de la classes : ///////////////////////////////////////////////////////////////// // Réception des données du formulaire ///////////////////////////////////////////////////////////////// $name = htmlspecialchars(trim($_request['name'])); $firstname = htmlspecialchars(trim($_request['firstname'])); $mail = htmlspecialchars(trim($_request['mail'])); $action = htmlspecialchars(trim($_request['action_contact'])); $id = htmlspecialchars(trim($_request['id_contact'])); ///////////////////////////////////////////////////////////////// // Traitement des actions ///////////////////////////////////////////////////////////////// // Création d'un objet contact $contact = new contact(); if (!empty($name) &&!empty($firstname) &&!empty($mail)) { $contact->set_id_user(1); $contact->set_name($name); $contact->set_firstname($firstname); $contact->set_email($mail); // Aout d'un contact dans la base if ($action == 'add') { if(!$contact->add()) { echo "Impossible d'ajouter le contact"; // Modification d'un contact dans la base else if ($action == 'update'){ $contact->set_id($id); if(!$contact->mod()) { echo "Impossible de modifier le contact"; // Suppression d'un contact dans la base if (!empty($id) && $action == 'del') { $contact->set_id($id); if(!$contact->del()) { echo "Impossible de supprimer le contact"; PHP et les bases de données 15