Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAngèle Alvarez Modifié depuis plus de 11 années
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>
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
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']); } ?>
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.