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 <form action="sauver.php" method="get">
<p>Insérer votre nom :</p> <input type="text" name="nom"> <p>Insérer votre message :</p> <textarea name="texte" rows="5" cols="20"></textarea> <br /> <input type="submit" name="soumettre"value="-- Envoyer --"> </form> <p>Vous avez renseigné: <p> <p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a>

4 sauver.php entrer.php <p>Vous avez renseigné: <p>
<p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a> entrer.php <form action="sauver.php" method="get"> <p>Insérer votre nom :</p> <input type="text" name="nom"> <p>Insérer votre message :</p> <textarea name="texte" rows="5" cols="20"></textarea> <br /> <input type="submit" name="soumettre"value="-- Envoyer --"> </form> <p>Vous avez renseigné: <p> <p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a>

5 sauver.php entrer.php <p>Vous avez renseigné: <p>
<p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a> entrer.php <form action="sauver.php" method="get"> <p>Insérer votre nom :</p> <input type="text" name="nom"> <p>Insérer votre message :</p> <textarea name="texte" rows="5" cols="20"></textarea> <br /> <input type="submit" name="soumettre"value="-- Envoyer --"> </form> <p>Vous avez renseigné: <p> <p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a>

6 sauver.php entrer.php <p>Vous avez renseigné: <p>
<p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a> entrer.php <form action="sauver.php" method="get"> <p>Insérer votre nom :</p> <input type="text" name="nom"> <p>Insérer votre message :</p> <textarea name="texte" rows="5" cols="20"></textarea> <br /> <input type="submit" name="soumettre"value="-- Envoyer --"> </form> <p>Vous avez renseigné: <p> <p>Nom : <?php echo $_GET['nom']; ?> </p> <p>Texte : echo $_GET['texte']; <a href="livreor.php">Voir le livre d'or</a>

7

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

9 Table PERSONNE PERSONNE PersID nom prénom date_naiss ville_naiss 1
Dupont bob 2 Santos Leo 3 Roi Sandra note : ici ville_naiss est une clé étrangère (Table VILLE)

10 Table VILLE VILLE VilleID nom population superficie region 1 Paris
.. 12 2 Lyon 470400 22 3 Grenoble 156600 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 id nom 1 Pascal 2 Marie

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

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 d’une 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 PHP et MySQL

23 Fichier connect_db.php
$dbhost="localhost"; $dbuser="root"; $dbpassword=""; $dbname="base_cswd"; $dblink=mysql_connect($dbhost,$dbuser,$dbpassword); $db_cswd=mysql_select_db($dbname,$dblink); function qdb($sql) { $resultat = mysql_query($sql); if (mysql_errno()) echo "MySQL error ".mysql_errno()." : ".mysql_error()."\n<br>"; echo "Requête MySQL : ".$sql."\n<br>"; die; } return $resultat; ?>

24 Tous les fichiers PHP <?php require_once("connect_db.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

28 Concatenation 1 <?    echo   "Salut"." Martin";  ?> 

29 Variables <?php $a = 0; $nom = 'Horst'; echo $a; ?>
<?php $nom = 'Horst'; ?> <?php echo $a; ?>

30 Concatenation 2 <? $nom = "Martin"; ?>
<?  $nom = "Martin";  ?> Salut <? echo $nom;  ?>

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
<?php $sql = "SELECT * FROM livreor"; $resultat = qdb($sql); // connaitre le nombre d'enregistrements $nombre_resultats = mysql_num_rows($resultat); // parcourir le tableau des enregistrements $i=1; while ($i <= $nombre_resultats) { $enregistrements = mysql_fetch_array($resultat) echo $enregistrements['nom']; echo $enregistrements['texte']; $i = $i + 1; } ?>

37 Parcourir les enregistrenents
<?php $sql = "SELECT * FROM livreor;"; $resultat = qdb($sql); // connaitre le nombre d'enregistrements $nombre_resultats = mysql_num_rows($resultat); // parcourir le tableau des enregistrements while ($enregistrements = mysql_fetch_array($resultat)) { echo $enregistrements['nom']; echo $enregistrements['texte']; } ?>

38 mysql_escape_string Fonction "inverse" : stripslashes

39 Parcourir les enregistrenents
<?php $sql = "SELECT * FROM livreor;"; $resultat = qdb($sql); // connaitre le nombre d'enregistrements $nombre_resultats = mysql_num_rows($resultat); // parcourir le tableau des enregistrements while ($enregistrements = mysql_fetch_array($resultat)) { echo stripslashes($enregistrements['nom']); echo stripslashes($enregistrements['texte']); } ?>


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