![Page 1: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/1.jpg)
Algorithmes et structures de données avancées
Partie Conception de Sites Web dynamiques
Cours 11
Patrick Reuter
![Page 2: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/2.jpg)
Programme …
• Mettre le site en ligne
• Mise en page cohérente
• BDD: Relation entre des tables (1:1,1:n,n:m)
• Variables de session
• Référencement moteur de recherche
![Page 3: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/3.jpg)
Transférer des fichiers vers votre hebergeur
Information de votre fournisseur :
1. Addresse FTP
• ftp.ifrance.com• ftp.numericable.fr• ftp.membres.lycos.fr• ftp.wanadoo.fr
FTP (File transfer protocol)Client FTP : Filezilla, FTP Expert, SmartFTP, …
2. Nom de la base de données
3. Nom d'utilisateur
• preuter
4. Mot de passe• -----------------
![Page 4: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/4.jpg)
Fichier connect_db.php<?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;
}?>
![Page 5: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/5.jpg)
Fichier connect_db.php<?php$dbhost="xxxx.ifrance.com";$dbuser="login";$dbpassword="mdp";$dbname="yyyy";
$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;
}?>
![Page 6: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/6.jpg)
Mise en page
AccueilMenu 1Menu 2Menu 3Menu 4
En tête de la page
Pied de la page
![Page 7: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/7.jpg)
Conception de Site Webs Interactifs
Déroulement• Pages web statiques (HTML/XHTML)• Mise en forme avec feuilles de styles (CSS)• Programmation côté serveur
– Pages web dynamiques (PHP)– avec connexion à une base de données (MySQL)
• Programmation côté client– JavaScript
• Référencement Internet (moteur de recherche)
![Page 8: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/8.jpg)
Mise en page
AccueilMenu 1Menu 2Menu 3Menu 4
En tête de la page
Pied de la page
![Page 9: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/9.jpg)
<div id="page_entete">Projet CSWD</div>
<div id="menu"> <ul> <li><a href="">Accueil</a></li> <li><a href="">Menu 1</a></li> <li><a href="">Menu 2</a></li> <li><a href="">Menu 3</a></li> <li><a href="">Menu 4</a></li> </ul></div>
<div id="contenu">Contenu de la page !</div>
<div id="page_pied">(c) CSWD 2007</div>
miseenpage.php
![Page 10: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/10.jpg)
#page_entete { height: 90px; background: #697FBF; text-align: center; clear: both;}
#menu { width:224px; background-color: #897FFF; float: left;}
#contenu { width:800px; float: right;}
#page_pied { height: 30px; background-color: #798FCF; text-align: center; clear: both;}
<div id="page_entete">Projet CSWD</div>
<div id="menu"> <ul> <li><a href="">Accueil</a></li> <li><a href="">Menu 1</a></li> <li><a href="">Menu 2</a></li> <li><a href="">Menu 3</a></li> <li><a href="">Menu 4</a></li> </ul></div>
<div id="contenu">Contenu de la page !</div>
<div id="page_pied">(c) CSWD 2007</div>
miseenpage.php miseenpage.css
![Page 11: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/11.jpg)
• Inclure dans vos fichiers HTML/PHP:
<link rel="stylesheet" type="text/css" href="miseenpage.css" />
![Page 12: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/12.jpg)
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<html><head><!-- Site Title --><title>Home Page</title>
<!-- Link to Style External Sheet --><link href="style.css" type="text/css"
rel="stylesheet" />
</head>
<body>
<div id="page_entete"> Projet CSWD </div> <div id="menu"> <ul> <li><a href="">Accueil</a></li> <li><a href="">Menu 1</a></li> <li><a href="">Menu 2</a></li> <li><a href="">Menu 3</a></li> <li><a href="">Menu 4</a></li> </ul> </div> <div id="contenu">
</div>
<div id="page_pied"> (c) CSWD 2007 </div>
</body></html>
entete.php pied.php
![Page 13: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/13.jpg)
entete.php et pied.php
<?php include "entete.php";?>
La page est vide !
<?php include "pied.php";?>
![Page 14: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/14.jpg)
![Page 15: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/15.jpg)
Terminologie
• Base de données (database)
• Table (table)
• Enregistrement (record)
• Champ (field)
![Page 16: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/16.jpg)
• 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
![Page 17: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/17.jpg)
Types de relations
• Relation de type 1:1
• Relation de type 1:n
• Relation de type n:m
![Page 18: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/18.jpg)
• Relation de type 1:n
![Page 19: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/19.jpg)
Table personnes
id nom
1 Pascal
2 Marie
![Page 20: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/20.jpg)
Table animauxid nom … id_personne
1 Zeus … 1
2 Sisko … 1
3 Peggy … 1
4 Oscar … 2
5 Felix … 2
![Page 21: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/21.jpg)
• Relation de type n:m
![Page 22: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/22.jpg)
• Une personne qui aime plusieurs DVDs
![Page 23: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/23.jpg)
Table personnes
id nom
1 Pascal
2 Marie
![Page 24: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/24.jpg)
Table DVDsid nom … id_personne
1 Casino … 1
2 Planète des singes
… 1
3 Coupe du monde 1990
… 2
4 Nirvana live … 2
… … … …
![Page 25: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/25.jpg)
• Plusieurs personnes qui aiment plusieurs DVDs
![Page 26: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/26.jpg)
Table CDsid nom id_person
ne1id_personne2
1 Casino 2 1
2 Planète des singes
0 1
3 Coupe du monde 1990
… 2
4 Nirvana live … 2
… … … …
![Page 27: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/27.jpg)
Table DVDsid nom
1 Casino
2 Planète des singes
3 Coupe du monde 1990
4 Nirvana live
… …
![Page 28: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/28.jpg)
Table personne_dvd (de jointure)id id_dvd id_personne
1 1 1
2 1 2
3 3 1
4 3 2
… …
![Page 29: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/29.jpg)
Relation de type 1:1
Une entité est partenaire de exactement une autre entité
Exemples:• Mariage : Une personne est marié avec exactement une
autre personne ⇒ Personne 1:1 Personne
• Immatriculation : Une véhicule à exactement une immatriculation
⇒ Véhicule 1:1 Immatriculation• Stade : Dans notre exemple, un club a exactement un
stade ⇒ Club 1:1 Stade
![Page 30: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/30.jpg)
Relation de type 1:n
Une entité d'un côté est en relation avec un ou plusieurs entités de l'autre côté.
Exemples :• Art : Un tableau se trouve (à un moment donné) dans un
musée. Par contre, dans un musée il y a plusieurs tableaux.
⇒ Musée 1:n Tableaux • Famille: Un enfant à exactement une mère biologique.
Mais une mère peut avoir plusieurs enfants. ⇒ Mère 1:n Enfants
![Page 31: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/31.jpg)
Relation n:mDans les deux côtés de la relation il y a un nombre arbitraire d'entités.
Attention : Ne pas écrire n:n ! (n ≠ m) Exemples :
• Etudiant ↔ Professeur: Un professeur enseigne plusieurs étudiants. Un étudiant va en cours de plusieurs professeurs.
⇒ Professeur m:n Etudiant• Immobilier : Un immobilier peut appartenir à plusieurs propriétaires.
Un propriétaire peut posséder plusieurs immobiliers. ⇒ Propriétaire n:m Immobilier
• joueurs ↔ clubs anciens : Un joueur peut avoir plusieurs clubs anciens. Un club a plusieurs joueurs.
![Page 32: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/32.jpg)
PHP et MySQL
![Page 33: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/33.jpg)
![Page 34: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/34.jpg)
PHP et MySQL
![Page 35: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/35.jpg)
Fichier connect_db.php<?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;
}?>
![Page 36: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/36.jpg)
Tous les fichiers PHP<?php
require_once("connect_db.php");
?>
![Page 37: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/37.jpg)
Insérer un enregistrement
INSERT INTO livreor
( id , texte , nom , date )
VALUES
('', 'Très bon site', 'Cédric', NOW());
![Page 38: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/38.jpg)
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 …");
![Page 39: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/39.jpg)
echo "j'utilise php" ; // ou bien
echo "j\'utilise php" ; //
![Page 40: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/40.jpg)
Concatenation 1
<?
echo "Salut"." Martin";
?>
![Page 41: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/41.jpg)
Variables<?php
$a = 0;$nom = 'Horst';echo $a;
?>
<?php $a = 0; ?><?php $nom = 'Horst'; ?><?php echo $a; ?>
![Page 42: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/42.jpg)
Concatenation 2
<?
$nom = "Martin";
?>
Salut <? echo $nom; ?>
![Page 43: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/43.jpg)
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 …");
![Page 44: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/44.jpg)
Attention à l'injection SQL
$sql = "l'arbre";
$sql = mysql_escape_string($sql);
![Page 45: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/45.jpg)
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 …");
![Page 46: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/46.jpg)
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 …");
![Page 47: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/47.jpg)
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 …");
![Page 48: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/48.jpg)
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;}?>
![Page 49: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/49.jpg)
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 enregistrementswhile ($enregistrements = mysql_fetch_array($resultat)){ echo $enregistrements['nom']; echo $enregistrements['texte'];}
?>
![Page 50: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/50.jpg)
• mysql_escape_string
Fonction "inverse" :
• stripslashes
![Page 51: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/51.jpg)
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 enregistrementswhile ($enregistrements = mysql_fetch_array($resultat)){ echo stripslashes($enregistrements['nom']); echo stripslashes($enregistrements['texte']);}
?>
![Page 52: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/52.jpg)
Les variables de session
![Page 53: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/53.jpg)
Les variables de session
verifer_login.php : (si le pseudo existe et le mdp est correcte)
$_SESSION['pseudo']=$_GET['pseudo'];
les autres pages pour lesquelles il faut être loggé :
if ($_SESSION['pseudo'] != ""){
}else{
echo "il faut s'inscrire …";}
![Page 54: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/54.jpg)
Les variables de session
deconnexion.php :
...
$_SESSION['pseudo']="";
...
![Page 55: Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 11 Patrick Reuter](https://reader035.vdocuments.pub/reader035/viewer/2022062417/551d9d81497959293b8bab0c/html5/thumbnails/55.jpg)