Système d information



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

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

Mysql avec EasyPhp. 1 er mars 2006

CREATION WEB DYNAMIQUE

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

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

Pratique et administration des systèmes

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

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

BTS/CGO P10 SYSTEME INFORMATION Année

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

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

Sécurité des applications web. Daniel Boteanu

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

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

PHP. PHP et bases de données

Utilisation d Hyperplanning 2011

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

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

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

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

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

IFT3030 Base de données. Chapitre 1 Introduction

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

Stockage du fichier dans une table mysql:

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

1 Position du problème

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

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

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Installation de Concrete 5

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

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

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

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

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

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

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

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

Bases de SQL. Hacks 1-6 CHAPITRE UN

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

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

PDO : PHP Data Object 1/13

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

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

Java DataBaseConnectivity

Les BASES de DONNEES dans WampServer

SQL MAP. Etude d un logiciel SQL Injection

Bases de données cours 1

A QUOI SERVENT LES BASES DE DONNÉES?

I. MySQL : Serveur et SGBD

SQL Historique

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

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Guide d installation de Gael

Thème : Gestion commerciale

SYSTÈMES D INFORMATIONS

Bases de données relationnelles

A QUOI SERVENT LES BASES DE DONNÉES?

Rokia Missaoui - UQO. INF4163 Hiver 2008

équipement radio Procédure

Olivier Mondet

PROJET 1 : BASE DE DONNÉES REPARTIES

2 Serveurs OLAP et introduction au Data Mining

Attaques applicatives

RÉALISATION D UN SITE DE RENCONTRE

les techniques d'extraction, les formulaires et intégration dans un site WEB

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

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

Documentation de conception

Bureautique Initiation Excel-Powerpoint

MODE OPERATOIRE OPENOFFICE BASE

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Application web de gestion de comptes en banques

SECURIDAY 2013 Cyber War

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

Thème : Création, Hébergement et référencement d un site Web

Sommaire 1 ) Contexte de l application :... 2

Comment mettre en ligne un site WordPress local

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

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

Installation locale de JOOMLA SEPIA

GER helpdesk permet de traiter et d optimiser la gestion de vos interventions au sein de chaque bureaux.

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

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

1. Base de données SQLite

Les bases de données

Transcription:

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 Année 2014 2015

Motivation Consultation de la BD SELECT NOM FROM client WHERE COMPTE < 0 Requête en SQL BD Réponse FRANCK GILLET MERCIER Client_commande 2

Accès aux Bases de données Il faut connaître la structure des tables Il faut connaître SQL Risque d erreurs / incohérence INSERT INTO client (NOM, ADRESSE, LOCALITE, COMPTE) VALUES ('FRANCK', '14 avenue du Reclus', 'Lille', '0') Requête en SQL BD Réponse Client_commande 3

Solution 1. Afficher le formulaire. 2. Coté utilisateur: Saisir de(s) donnée(s) Envoyer 3. Traiter les données saisies et construire une requête SQL INSERT INTO client (NOM, ADRESSE, LOCALITE, COMPTE) VALUES (nom, adresse, localité, 0.00) 4. Exécuter la requête sur la BD 4

Créer un formulaire Phase de conception Quelle information est à saisir par l utilisateur? Mise en page sur papier Phase de réalisation = Écrire le code pour afficher les composants du formulaire traiter les données saisies fonctions du AgroSIXPack ou (PHP et HTML) Voir le doc Formulaires avec AgroSIXPack.pdf 5

Construction de la requête 1. Afficher le formulaire. 2. Coté utilisateur: Saisir de(s) donnée(s) Envoyer 3. Traiter les données saisies et construire une requête SQL function traiter_formulaire() { $nom = valeur_champ('nom'); $adresse = valeur_champ('adresse'); $localite = valeur_champ('localite'); $compte = valeur_champ ('compte'); } 4. Exécuter la requête sur la BD INSERT INTO client (NOM, ADRESSE, LOCALITE, COMPTE) VALUES (nom, adresse, localité, compte) 6

Construction de requêtes function traiter_formulaire() { // Récupération des données $nom = valeur_champ('nom'); $adresse = valeur_champ('adresse'); $localite = valeur_champ('localite'); $compte = valeur_champ('compte'); // Utilisation des données } // Construction de la requête!!! Syntaxe SQL $requete = 'INSERT INTO client'; $requete.= '(NOM, ADRESSE, LOCALITE, COMPTE) VALUES ('; $requete.= chaine_en_sql($nom). ', '; $requete.= chaine_en_sql($adresse). ', '; $requete.= chaine_en_sql($localite). ', '; $requete.= chaine_en_sql($compte). ' )'; INSERT INTO client(nom, ADRESSE, LOCALITE, COMPTE) VALUES ( 'FRANCK', '14 avenue du Reclus', 'Lille', '0.0' ) 7

Chaîne en SQL Utiliser la fonction chaine_en_sql: pour les apostrophes pour prévenir les injections de code SQL // $chaine : string // -> string function chaine_en_sql($chaine) { return '\''. mysql_real_escape_string($chaine). '\''; } 8

traitement.php Execution de la requête <?php // construction de la requête $requete = 'INSERT INTO client'; $requete.= '(NOM, ADRESSE, LOCALITE, COMPTE) VALUES ('; $requete.= chaine_en_sql($nom). ', '; $requete.= chaine_en_sql($adresse). ', '; $requete.= chaine_en_sql($localite). ', '; $requete.= chaine_en_sql($compte). ' )';?> fermer connexion connexion BD Serveur PHP envoie des requêtes Serveur MySQL INSERT INTO client (NOM, ADRESSE, LOCALITE, COMPTE) VALUES (nom, adresse, localité, 0.00) 9

Principe Exécutions des requêtes SQL en PHP: 1. Établissement d une connexion à MySQL 2. Sélection d une base de données 3. Exécution des différentes requêtes et traitement des réponses 4. Fermeture de la connexion 10

Outils Exécution de requêtes en PHP: 1. Établissement d une connexion à MySQL mysql_connect 2. Sélection d une base de données mysql_select_db 3. Exécution des différentes requêtes et traitement des réponses 4. Fermeture de la connexion mysql_close 11

Exécution de requêtes function traiter_formulaire() { // 1. Ouverture de la connexion au serveur MySQL mysql_connect( localhost, root, mysql ); // 2. Selection de la base de données mysql_select_db( client_commande ); // 3.a Construction de la requête $requete = 'INSERT INTO client'; $requete.= '(NOM, ADRESSE, LOCALITE, COMPTE) VALUES ('; $requete.= chaine_en_sql($nom). ', '; $requete.= chaine_en_sql($adresse). ', '; $requete.= chaine_en_sql($localite). ', '; $requete.= chaine_en_sql($compte). ' )'; // 3.b Afficher la requête à l écran, puis l exécuter et // récupérer la table SQL résultat $res = mysql_query_affiche($requete); } // 4. fermeture de la connexion à la base mysql_close(); 12

Afficher le résultat en PHP function traiter_formulaire() { // construction de la requête $requete = 'SELECT nom, adresse FROM client'; // 3. Afficher la requête à l écran, puis l exécuter et // récupérer la ressource SQL résultat $res = mysql_query_affiche($requete); } while($ligne = mysql_ligne_suivante($res)){ printline($ligne['nom']. ' ' ); printline($ligne['adresse']); } 13