Applications php et postgresql. Département INFormatique

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

Pratique et administration des systèmes

Mysql avec EasyPhp. 1 er mars 2006

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

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

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)

Bases de Données et Internet

CREATION WEB DYNAMIQUE

Attaques applicatives

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

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

CREATION d UN SITE WEB (INTRODUCTION)

Stockage du fichier dans une table mysql:

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

Module BD et sites WEB

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

Sécurité des applications web. Daniel Boteanu

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

PHP 4 PARTIE : BASE DE DONNEES

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

PDO : PHP Data Object 1/13

1 Position du problème

Formulaire pour envoyer un mail

Séance d ED n 5 : HTML et JavaScript

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Mise en place d un serveur Proxy sous Ubuntu / Debian

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

Les bases de données

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Programmation Web. Introduction

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

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

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

TP JAVASCRIPT OMI4 TP5 SRC

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

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

SYSTÈMES D INFORMATIONS

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

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

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Hébergement de site web Damien Nouvel

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Architectures web/bases de données

Gestion de stock pour un magasin

Django et PostgreSQL sous la charge

PROJET 1 : BASE DE DONNÉES REPARTIES

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Techniques de Programmation pour Internet

Manuel d'installation

Introduction. Passage de sites statiques à des sites dynamiques

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

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

OpenPaaS Le réseau social d'entreprise

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

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

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

Installation et Mise en œuvre de MySQL

1. La plate-forme LAMP

Développement des Systèmes d Information

Bases de données Cours 1 : Généralités sur les bases de données

Attaques de type. Brandon Petty

Application web de gestion de comptes en banques

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

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

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

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

Dans l'article précédent, vous avez appris

INF8007 Langages de script

(structure des entêtes)

Intranet et les Bases de Données

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

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

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

Les architectures 3-tiers Partie I : les applications WEB

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

DOM - Document Object Model

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Raja Bases de données distribuées A Lire - Tutoriel

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

HTML, CSS, JS et CGI. Elanore Elessar Dimar

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

Exonet : sauvegarde automatisée d une base de données

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

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

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

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES?

Comment booster vos applications SAP Hana avec SQLSCRIPT

Outils de traitements de logs Apache

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

Transcription:

Applications php et postgresql Département INFormatique

Plan du document Interfacer les Bases de Données et le Web Passerelle PHP - Principe des passerelles PHP - Architecture 3-tiers Web (dynamique) PHP - Langage PHP - PHP/postgresql Page 2 2

BD/Web Principe des passerelles PHP Version OpenSource de la technologie page active Intégré à HTML Dédié à la production de pages HTML dynamiques Page active : programme s exécutant côté serveur Généralise et améliore les CGI "Mixé" avec HTML Valeurs des variables plus faciles à retrouver Exécution au sein du serveur (Apache) => pas 1 processus par appel Suppose l installation d un interpréteur associé au serveur HTTP Page 3 3

BD/Web Architecture 3-tiers Web (dynamique) PHP Fichier correspondant Fichiers (HTML) Requête HTTP Navigateur doc html dynamique Page HTML dynamique Serveur Web Interprète php Appel interprète SQL Résultat Base de données BD Page 4 4

Plan du document Interfacer les Bases de Données et le Web Passerelle PHP - Principe des passerelles PHP - Architecture 3-tiers Web (dynamique) PHP - Langage PHP (à lire seul) PHP et HTML Variable PHP et conditionnelle Itérations $_GET et $_POST Script serveur PHP - Exemple de gestion de formulaire - PHP/postgreSQL Page 5 5

PHP et HTML Page 6 Script PHP : document HTML (par exemple), dans lequel est incorporé du code PHP Code PHP à l intérieur d une pseudo-balise <?php...?> Exemple <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html>... <body> <h1> </h1> </body> </html> <?php echo 2+2;?> 6

Variable PHP et conditionnelle Page 7 Affectation : $var=valeur Où valeur peut être - un nombre entier ou réel ; - une chaîne de caractères définie entre deux guillemets simples ( ) ou entre deux guillemets doubles ( " ) Conditionnelle if (C) { T } else { E } Exemple if ($sexe== f ) { echo Madame ; } else { } echo Monsieur ; 7

Itérations Page 8 for (I;C;P) { B } où : I : affectation permettant d initialiser la variable itérée, C : condition d arrêt de la boucle, P est le pas de la boucle, B est le bloc d instructions itéré Exemples for( $i=0; $i<10; $i=$i+1 ) { } echo Au secours! ; $fact=1; for( $i=13; $i>0; $i=$i-1 ) { } $fact = $fact*$i; 8

$_GET et $_POST Paramètres HTTP peuvent être récupérés en PHP grâce au tableaux associatifs $_GET et $_POST <html> <head><title>supprimer un vin</title></head> <body><h1>supprimer un vin</h1> <form action="delete.php" method="post"> <p>identifiant du vin à supprimer : <input name= "num" type ="text" size=4/></p> <input value="réinitialiser" type="reset" /> <input value="supprimer" type="submit" /> </form> </body> </html> delete.php <?php> ouverture de la connexion $query="delete FROM vins WHERE num=".$_post['num'].";"; echo "Requête suppression :".$query."</p>"; traitement de la requête?> Page 9 9

Script serveur PHP Exemple de gestion de formulaire BD/Web Délimitation PHP Écriture des valeurs de variables Qui sont des champs de saisie dans un formulaire <?php echo "<h1 align=center>premier programme PHP d'utilisation de formulaires</h1>"; echo "<br><br><ul>"; echo "<li>nom = ".$_POST["Nom"]; echo "<li>prénom = ".$_POST["Prenom"]; echo "<li>ville = ".$_POST["Ville"]; echo "<li>département = ".$_POST["Departement"]; echo "</ul>";?> Page 10 10

Plan du document Interfacer les Bases de Données et le Web Passerelle PHP - Principe des passerelles PHP - Architecture 3-tiers Web (dynamique) PHP - Langage PHP - PHP/postgreSQL Page 11 11

BD/Web Exemple de connexion $server='157.159.110.17'; $database='nomdelabd'; $user='sonlogin'; $pass='sonpassword'; $chaine_cx="host=$server dbname=$database user=$user password=$pass"; $dbconn=pg_connect($chaine_cx) or die ( Connexion impossible'.$chaine_cx.pg_last_error()); echo "<p>connexion etablie</p>"; Page 12 12

BD/Web Exemple de requête de mise à jour Ouverture de la connexion avec $dbconn $query= "insert into vins values (12, Tavel, 2001, 12.1); "; echo "<p>requête insertion :".$query."</p>" ; $resultat=pg_query($dbconn,$query); if(!$resultat){ echo pg_errormessage($dbconn); } else { echo "Nombre de tuples insérés : ". pg_affected_rows($resultat); } Page 13 13

BD/Web Exemple de requête d interrogation <?php ouverture de la connexion $query = "SELECT * FROM vins WHERE num= ".$_POST['num']. "; "; echo "Requete select :".$query."</p>"; $resultat=pg_query($query) or die ( Echec requête'.pg_last_error());; if (!$resultat) { echo "Erreur postgres :".pg_last_error()."</p>"; }else{ echo "Interrogation réussie</p>"; echo "<table border=1>" ; echo "<tr><th>num</th><th>cru</th><th>annee</th><th>degre</th></tr>"; while ($ligne=pg_fetch_array($resultat, null, PGSQL_ASSOC)) { echo "<tr>"; echo "<td>".$ligne[ num']."</td>"; echo "<td>".$ligne[ cru']."</td>"; echo "<td>".$ligne[ annee']."</td>"; echo "<td>".$ligne[ degre']."</td>"; echo "</tr>"; } echo "</table>"; }?> Page 14 14

BD/Web Conclusion PHP-BD Plusieurs APIs possibles APIs natives : - efficaces - mais du codage à faire pour changer de SGBD Interfaces abstraites : - moins efficace, - pas d adaptation de code à faire, - pas de standard pour PHP Beaucoup de ressemblances entre les différentes approches Page 15 15