La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter.

Présentations similaires


Présentation au sujet: "Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter."— Transcription de la présentation:

1 Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter

2 Formulaires à l'exemple du livre d'or

3 entrer.php Insérer votre nom : Insérer votre message :

4 Vous avez renseigné: Nom : Texte : Voir le livre d'or entrer.php sauver.php Insérer votre nom : Insérer votre message :

5 Vous avez renseigné: Nom : Texte : Voir le livre d'or entrer.php sauver.php Insérer votre nom : Insérer votre message :

6 Vous avez renseigné: Nom : Texte : Voir le livre d'or entrer.php sauver.php Insérer votre nom : Insérer votre message :

7

8 Terminologie Base de données (database) Table (table) Enregistrement (record) Champ (field)

9 Table PERSONNE PERSONNE PersIDnomprénomdate_naissville_naiss 1Dupontbob SantosLeo RoiSandra note : ici ville_naiss est une clé étrangère (Table VILLE)

10 Table VILLE VILLE VilleIDnompopulationsuperficieregion 1Paris Lyon Grenoble note : ici region est une clé étrangère (table REGION)

11 Types de relations Relation de type 1:1 ici : Relation de type 1:n Relation de type n:m

12 Table personnes idnom 1Pascal 2Marie

13 Table animaux idnom…id_personne 1Zeus…1 2Sisko…1 3Peggy…1 4Oscar…2 5Felix…2

14 Requêtes MySQL –INSERT : insérer un enregistrement –SELECT : récupérer un/des enregistrement(s) –UPDATE : mettre à jour des enregistrements –DELETE : effacer des enregistrements

15 Instructions MySQL INSERT INTO nom_table (nom_du_champs1, nom_du_champs2, …) VALUES (valeur_champs1, valeur_champs2,..)

16 Instructions MySQL INSERT INTO livreor ( id, texte, nom, date ) VALUES ('1', 'Leo', 'Bonjour', ' '); si le champs id est mis en auto-increment, il suffit de mettre INSERT INTO livreor ( texte, nom, date ) VALUES ('Leo', 'Bonjour', ' ');

17 Instructions MySQL Sélectionner les champs de tous les enregistrements dune table SELECT * FROM nom_table [WHERE condition [AND condition] [OR condition]] [ORDER BY champs [DESC][ASC]]; Exemples: SELECT * FROM livreor SELECT * FROM livreor WHERE nom='Leo' SELECT * FROM livreor WHERE date>' ' …

18 Instructions MySQL Modifier une donnée dans une table UPDATE nom_table SET nom_du_champs = nouvelle_valeur WHERE nom_du_champs = valeur Exemple UPDATE sondage SET nombrechoix1 = 0 WHERE id = 1

19 Instructions MySQL Effacer un enregistrement DELETE FROM nom_table [WHERE nom_du_champs1 = valeur1 [AND nom_du_champs2 = valeur2]]

20 PHP et MySQL

21

22

23 Fichier connect_db.php

24 Tous les fichiers PHP

25 Insérer un enregistrement INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', 'Très bon site', 'Cédric', NOW());

26 Insérer un enregistrement $sql = "INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', 'Très bon site', 'Cédric', NOW()); "; $resultat = qdb($sql); revient à … : $resultat = mysql_query("INSERT INTO …");

27 echo "j'utilise php" ; // ou bien echo "j\'utilise php" ; //

28 Concatenation 1

29 Variables

30 Concatenation 2 Salut

31 Insérer un enregistrement – première (mauvaise) version $sql = "INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', '". $_GET['nom']."', '".$_GET['texte']."', NOW()); "; $resultat = qdb($sql); $resultat = mysql_query("INSERT INTO …");

32 Attention à l'injection SQL $sql = "l'arbre"; $sql = mysql_escape_string($sql);

33 Attention à l'injection SQL $sql = "INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', 'L'arbre pousse.', ' Cédric'; DELETE * FROM livreor; ' Roussel ', NOW()); "; $resultat = qdb($sql); revient à … : $resultat = mysql_query("INSERT INTO …");

34 Attention à l'injection SQL $sql = "INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', 'L\'arbre pousse.', 'Cédric', NOW()); "; $resultat = qdb($sql); revient à … : $resultat = mysql_query("INSERT INTO …");

35 Insérer un enregistrement – deuxième (bonne) version $sql = "INSERT INTO livreor ( id, texte, nom, date ) VALUES ('', '". mysql_escape_string($_GET['nom'])."', '". mysql_escape_string($_GET['texte']). "', NOW()); "; $resultat = qdb($sql); $resultat = mysql_query("INSERT INTO …");

36 Parcourir les enregistrenents

37 Parcourir les enregistrenents

38 mysql_escape_string Fonction "inverse" : stripslashes

39 Parcourir les enregistrenents


Télécharger ppt "Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter."

Présentations similaires


Annonces Google