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



Documents pareils
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 4 PARTIE : BASE DE DONNEES

CREATION WEB DYNAMIQUE

Stockage du fichier dans une table mysql:

Mysql avec EasyPhp. 1 er mars 2006

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

Pratique et administration des systèmes

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

1 Position du problème

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

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

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

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

Olivier Mondet

PDO : PHP Data Object 1/13

Attaques applicatives

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

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

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

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

I. MySQL : Serveur et SGBD

Les BASES de DONNEES dans WampServer

Application web de gestion de comptes en banques

SUPPORT DE COURS / PHP PARTIE 3

1. Base de données SQLite

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

Sécurité des applications web. Daniel Boteanu

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

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

PHP. PHP et bases de données

Cours Bases de données 2ème année IUT

Gestion de base de données

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

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

Configurer la supervision pour une base MS SQL Server Viadéis Services

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

SECURIDAY 2013 Cyber War

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

Le protocole FTP (File Transfert Protocol,

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

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

RÉALISATION D UN SITE DE RENCONTRE

SQL Historique

STID 2ème année : TP Web/PHP

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

DOM - Document Object Model

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

Bases de données relationnelles

TP JAVASCRIPT OMI4 TP5 SRC

Connecter les formulaire d identification Qualifio à votre système d enregistrement (SSO) Mars 2012

SQL Server et Active Directory

A QUOI SERVENT LES BASES DE DONNÉES?

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

Module http MMS AllMySMS.com Manuel d intégration

Gestion de stock pour un magasin

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

Introduction à JDBC. Accès aux bases de données en Java

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

AWS avancé. Surveiller votre utilisation d EC2

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

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

SYSTÈMES D INFORMATIONS

Programmation Web. Madalina Croitoru IUT Montpellier

TP3 : Creation de tables 1 seance

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Création et Gestion des tables

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

BASES DE DONNEES TP POSTGRESQL

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

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

Solution Pro pour l Envoi de SMS direct opérateurs PUSH SMV MODE HTTP. Documentation Technique

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Paginer les données côté serveur, mettre en cache côté client

Langage SQL : créer et interroger une base

Rapport de stage Nicolas PLAZE Licence Pro A2I. Rapport de Stage LICENCE PRO A2I. Société INFHOTIK. Nicolas PLAZE

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

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

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

Documentation de conception

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

Rapport d audit de sécurité

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Pour les débutants. langage de définition des données

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

WordPress :: Migrer son site du local vers le serveur en ligne

Encryptions, compression et partitionnement des données

OpenPaaS Le réseau social d'entreprise

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Vulnérabilités et sécurisation des applications Web

2 Formation utilisateur

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

Baccalauréat technologique Série : sciences et technologies du management et de la gestion (STMG)

Transcription:

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 scripts PHP suivant pour apprendre à se connecter à un Serveur, a une base de données, créer une table et insérer des données dans cette base, et enfin afficher et exploiter ces données. Utilisation de bases de données MySQL avec PHP L'accès à une base de données se réalise en 3 étapes: La connexion La requête SQL La déconnexion 1. La connexion Avant de faire le moindre accès à une base de données, il faut impérativement établir une connexion et choisir sa base de données $nomutilisateur = "toto"; $motdepasse = "secret"; mysql_connect($serveurbd, $motdepasse); $connexionreussie = mysql_select_db($basededonnees); $serveurbd est le nom (ou adresse IP) du serveur où se trouve la base de données MySQL $nomutilisateur est l'identifiant sous lequel vous souhaitez vous connecter à la base de données Chez vous par défaut, c'est généralement "root". $motdepasse est le mot de passe associé à l'identifiant, Chez vous c'est une chaîne vide par défaut. $basededonnees est un nom de base de données qui doit vous devrez en créer une en passant par exemple par PHPMyAdmin (A vous de choisir son nom). Voici un exemple concret en local: $idconnexion = mysql_connect($serveurbd, $motdepasse); if ($idconnexion!== FALSE) echo "Connexion au serveur réussie"; else echo "Echec de connexion au serveur"; $connexionbase = mysql_select_db($basededonnees); if ($connexionbase) echo "Connexion à la base réussie"; else echo "Echec de connexion à la base"; Page 1 sur 6

On peut aussi utiliser une autre méthode pour stopper le script si la connexion ne peut pas se faire (inutile d'essayer d'accéder à la base si le serveur n'est pas accessible) : @mysql_connect($serveurbd, $motdepasse) or die("impossible de se connecter au serveur de bases de données."); @mysql_select_db($basededonnees) or die(" Cette base de donnees n'existe pas"); or die("") permet d'afficher un texte et de stopper le script si la fonction précédente renvoie une erreur. Notez que pour ne pas avoir à l'écran les messages d'erreur remontés par PHP, il suffit de mettre un @ devant les appels aux fonctions, par exemple @mysql_connect() 2. La déconnexion Comme vous avez pu le voir dans les exemples précédents, la déconnexion se fait par appel à la fonction mysql_close(). 3. Requête SQL ne retournant pas de résultat (CREATE TABLE, INSERT, UPDATE, etc.) Pour exécuter une requête SQL nous pouvons faire appel à la fonction mysql_query(). @mysql_connect($serveurbd, $motdepasse) or die("impossible de se connecter au serveur de bases de données."); @mysql_select_db($basededonnees) or die(" Cette base de donnees n'existe pas"); $sql = "CREATE TABLE IF NOT EXISTS s mi ". "(id INTEGER PRIMARY KEY AUTO_INCREMENT,". "nom VARCHAR(128))"; $retour = mysql_query($sql); if ($retour === FALSE) echo "La requête CREATE TABLE a échoué."; else echo "La table s mi a été créé."; $sql = "INSERT INTO s mi (nom) VALUES (' TP1 HTML SMI S6')"; $retour = mysql_query($sql); if ($retour === FALSE) echo "La requête INSERT a échoué."; else echo "Un nouveau nom a été ajouté dans la table s mi."; Avec ce script, nous créons une table puis nous y insérons un nom. Ajoutez autre nom de TP. Page 2 sur 6

4. Requête SQL retournant des résultats (ex: SELECT) Pour une requête de type SELECT, nous ferons également appel à la fonction mysql_query() mais le traitement sera légèrement différent. @mysql_connect($serveurbd, $motdepasse) or die("impossible de se connecter au serveur de bases de données."); @mysql_select_db($basededonnees) or die(" Cette base de donnees n'existe pas"); $sql = "SELECT * FROM smi"; $retour = mysql_query($sql); if ($retour === FALSE) echo "La requête SELECT a échoué."; else while ($enreg = mysql_fetch_array($retour)) echo $enreg["id"]."-".$enreg["nom"]."<br />\n"; Exercice 2 : Ecrire un script PHP qui va créer la base de données suivante «dbsmi». Ecrire un script PHP qui va (CREATE TABLE) la Table inscription, dans la base dbsmi. Ecrire le script PHP qui va (INSERT, UPDATE, et AFFICHER.)Les données du formulaire suivant dans cette table. Page 3 sur 6

Indications sur La démarche à suivre comme suit : On commence par récupérer les champs, avec if et isset On vérifie si les champs sont vides, avec if et empty connexion à la base on écrit la requête sql on insère les informations du formulaire dans la table on affiche le résultat pour le visiteur on ferme la connexion correction if(isset($_post['nom'])) else $nom=""; if(isset($_post['prenom'])) else $prenom=""; if(isset($_post['email'])) else $email=""; if(isset($_post['sexe'])) else $icq=""; if(isset($_post['pass'])) else $titre=""; $nom=$_post['nom']; $prenom=$_post['prenom']; $email=$_post['email']; $icq=$_post['sexe']; $titre=$_post['pass']; if(isset($_post['age'])) else $url=""; $url=$_post['age']; if(empty($nom) OR empty($prenom) OR empty($email) OR empty($sex) OR empty($pass)) echo '<font color="red">attention, seul le champs <b>age</b> peut rester vide!</font>'; else // connexion à la base $db = mysql_connect('localhost', 'login', 'password') or die('erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('nom_de_la_base',$db) or die('erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO infos_tbl(id, nom, prenom,email, Sexe, pass, age) VALUES('','$nom','$prenom','$email','$sex','$pass','$age')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('erreur SQL!'.$sql.'<br>'.mysql_error()); Page 4 sur 6

// on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; // on ferme la connexion Exercice 3 : Bien sûr faire entrer des données dans une base de données est une très bonne chose, mais l'idéal et de tester si des valeurs de certains champs comme (NOM, Email, ETC) existe dans la table pour éviter les doublons. Réécrire le script PHP de l exercice précédent pour vérifier si un tel NOM ou Email existe déjà dans la table pour éviter les doublons. Correction // On récupère les champs (voir exemple du cours) if(empty($nom) OR empty($prenom) OR empty($email) OR empty($sexe) OR empty( $pass)) echo '<font color="red">attention, seul le champs <b>age</b> peut rester vide!</font>'; // Aucun champ n'est vide, on peut enregistrer dans la table else $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nom_de_la_base',$db); $sql = "SELECT id FROM infos_tbl WHERE nom='$nom'"; $req = mysql_query($sql) or die('erreur SQL!'.$sql.'<br>'.mysql_error()); $res = mysql_num_rows($req); if($res!=0) // le nom existe déjà, on affiche un message d'erreur echo '<font color="red">désolé, mais ce nom existe déjà dans notre base.</font>'; else // Le nom n'existe pas, on insère les informations du formulaire dans la table $sql = "INSERT INTO infos_tbl(id, nom, prenom,email, sexe, password,age) VALUES('','$nom','$prenom','$email','$sexe','$pass','$age')"; mysql_query($sql) or die('erreur SQL!'.$sql.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; Page 5 sur 6

Exercice 4 : Ecrire le script PHP qui permet de lister et afficher les noms de toutes les Bases de Données qui existent sur le serveur MYSQL. Correction error_reporting(e_all); $link = mysql_connect('localhost', 'root', ''); $db_list = mysql_list_dbs($link); $i = 0; $cnt = mysql_num_rows($db_list); while ($i < $cnt) echo mysql_db_name($db_list, $i). "<br> \n" ; $i++; Page 6 sur 6