Conception de Sites Web dynamiques yq Authentification
Transcription
Conception de Sites Web dynamiques yq Authentification
08/04/2010 Conception de Sites Web dynamiques y q Cours 8 2009/2010 Patrick Reuter Inscription Programme • • • • • Hébergement Sujets Projets Retour sur TP MySQL – Base de données Authentification Hébergement de vos sites • Capacités : PHP, une base de données MySQL – Chercher le meilleur hébergeur gratuit – Avec publicité (ifrance, lycos multimania) – Sans publicité (Olympe network, …) Sans publicité (Olympe network ) 1 08/04/2010 Présentation d'un sujet du web Quels navigateurs utiliser ? Extensions firefox Les logiciels Google Protection de données dans le web Les aspects juridiques pour créer un site Internet Les réseaux sociaux Les réseaux sociaux Internet sur mobile Flux RSS Outils OpenSource pour la conception de sites webs Internet mobile Les différentes formes d'expression sur le web (Weblog, forums, réseaux sociaux) • Deezer.com et les sites communautaires de musique en streaming • • • • • • • • • • • Projets 1. Site de rencontre – 2. – 3. 4. 5. 6. 7. 8. 9. 10. 11. (utilisateurs, rechercher un correspondant) Messagerie privée (éventuellement à combiner avec 1.) Gestion d’une équipe de sport Forum de discussion Gestion de salles de cours Site de vente aux enchères Albums de photos Carnet d’adresses et liste de mailings Gestionnaire de DVD Jeux de bourse Covoiturage Projets • • • • • • • Jeu à jardin de plantes Actualisation web Mailing list Reminder web de evenement Creation statistiques Gestionnaire division sportive Planning Conception de Site Webs Interactifs Légende <h1>Titre de la page</h1> XHTML h1, h2, h3 { color: red; } CSS <?php $a = 3; ?> PHP CREATE DATABASE `base_cswd` ; MySQL PHP et MySQL Déroulement • Pages web statiques (HTML/XHTML) • Mise en forme avec feuilles de styles (CSS) • Programmation côté serveur 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) 2 08/04/2010 Fichier connect_db.php ("PHP se connecte à MySQL") <?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; } ?> Terminologie • • • • Table Base de données (database) Table (table) Enregistrement (record) Champ (field) Instructions MySQL de base • INSERT – Insérer un enregistrement • SELECT – Sélectionner des enregistrements Sél i d i • UPDATE Instructions MySQL INSERT INTO users ( id , pseudo , motdepasse) VALUES ('1', 'nathan', '0000 ); si le champs id est mis en auto‐increment, il suffit de mettre INSERT INTO `users` (`pseudo` , `motdepasse`) VALUES ('nathan', '0000‘ ); – Mettre à jour des champs des enregristrements • DELETE et la valeur de id est mise à jour automatiquement – Effaces des enregistrements 3 08/04/2010 INSERT Connexion PHP vers MySQL <?php // inclure la connexion à la base de données require_once "connect_db.php"; INSERT INTO livreor ( id , nom , texte, date ) VALUES ('', 'Maggie', 'Bon site!', '2007-10-17 17:55:00'); // exécuter une requête MySQL $sql = " INSERT INTO livreor ( id , nom , texte , date) VALUES ('', '".$_GET['nom']."', 'Bon site !', '2007-10-17 17:55:00'); "; $resultat = qdb($sql); ?> Instructions MySQL • Attention au ' fonction : les «échapper» avec la <?php $a = mysql_escape_string($a); mysql escape string($a); ?> avant : après : $a contient "l'arbre"; $a contient "l\'arbre"; Sélectionner les champs de tous les enregistrements d’une table SELECT * FROM ` `users` ` [WHERE condition [AND condition] [OR condition]] [ORDER BY champs [DESC][ASC]]; SELECT Parcourir les enregistrenents <?php SELECT ** FROM FROM livreor; livreor; "; $sql = "SELECT $resultat = qdb($sql); SELECT * FROM livreor; // connaitre le nombre d'enregistrements $nombre resultats = mysql_num_rows($resultat); $nombre_resultats mysql num rows($resultat); // parcourir le tableau des enregistrements while ($enregistrements = mysql_fetch_array($resultat)) { echo $enregistrements['nom']; echo $enregistrements['texte']; } ?> 4 08/04/2010 • • • • SELECT INSERT UPDATE CREATE Parcourir les enregistrenents Parcourir les enregistrenents <?php <?php SELECT ** FROM FROM livreor; livreor; "; $sql = "SELECT $resultat = qdb($sql); SELECT ** FROM FROM livreor; livreor; "; $sql = "SELECT $resultat = qdb($sql); // connaitre le nombre d'enregistrements $nombre resultats = mysql_num_rows($resultat); $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; } ?> // connaitre le nombre d'enregistrements $nombre_resultats = mysql_num_rows($resultat); // parcourir le tableau des enregistrements while ($enregistrements = mysql_fetch_array($resultat)) { if ($enregistrements['id'] == 1) { echo $enregistrements['nom']; echo $enregistrements['texte']; } } ?> SELECT Parcourir les enregistrenents <?php SELECT ** FROM FROM livreor livreor WHERE id=1; "; $sql = "SELECT $resultat = qdb($sql); SELECT * FROM livreor WHERE id=1; // connaitre le nombre d'enregistrements $nombre resultats = mysql_num_rows($resultat); $nombre_resultats mysql num rows($resultat); // parcourir le tableau des enregistrements while ($enregistrements = mysql_fetch_array($resultat)) { echo $enregistrements['nom']; echo $enregistrements['texte']; } ?> 5