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