Un livre d'or en php et mysql
Insertion des commentaires
Le code PHP
Maintenant que notre formulaire est en place, il nous reste 2 choses à faire :
- insérer un commentaire quand un visiteur le demande
- afficher tous les commentaires
Nous allons commencer par l'insertion des messages dans la base de données.
Tout d'abord il nous faut nous connecter à la base de donnée :
| Code: |
| <?
mysql_connect("nom hôte", "utilisateur", "mot_de_passe"); mysql_select_db("base de données"); |
Ensuite, on récupère les variables qui sont envoyées par le formulaire :
| Code: |
| $commentaire=$_POST['commentaire'];
$auteur=$_POST['auteur']; $site=$_POST['site']; $email=$_POST['email']; $date=date(U); //on récupère la date actuelle $nombre_utilisateur=$_POST['verification']; $nombre_demande=$_POST['lenombre']; |
Maintenant, on vérifie que les champs commentaires et auteur ne soient pas nuls.
On vérifie également que la petite opération a été bien éffectuée.
| Code: |
| if($auteur!="" and $commentaire!="" and $nombre_utilisateur==$nombre_demande+1)
{ |
Si cette condition est bonne, on peu alors insérer les données :
| Code: |
| mysql_query("INSERT INTO livre VALUES (' ', '$commentaire', '$auteur', '$date', '$email', '$site', '$note')");
} |
On rentre les valeurs dans le même ordre que lorsque l'on a établit notre table.
On laisse la première valeur nulle, qui est l'ID, qui va donc s'auto-incrementer.
Voici donc l'état actuel de notre page :
| Code: |
| <DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Livre d'or</title> </head> <body> Bienvenue sur mon super livre d'or ! N'hésite pas à laisser un message ! <? //On se connecte à la base de données mysql_connect("base de données", "utilisateur", "mot_de_passe"); mysql_select_db("livre"); //on insert les nouveaux messages dans la base de données //On récupère les variables et on les renommes pour plus de facilité $commentaire=$_POST['commentaire']; $auteur=$_POST['auteur']; $site=$_POST['site']; $email=$_POST['email']; $date=date(U); //on récupère la date actuelle $nombre_utilisateur=$_POST['verification']; $nombre_demande=$_POST['lenombre']; //On vérifie avant tout que les champs commentaires, auteur soient non nuls et que l'addition soit exacte.. if($auteur!="" and $commentaire!="" and $nombre_utilisateur==$nombre_demande+1) { mysql_query("INSERT INTO livre VALUES (' ', '$commentaire', '$auteur', '$date', '$email', '$site', '$note')"); } ?> <form action="lelivredor.php" method="post"> Pseudo :<input type="text" name="auteur"><br/><br/> Ton Commentaire : <br/><textarea name="commentaire" cols="60" rows="5"></textarea><br/><br/> Site Web : <input type="text" name="site"><br/> E-mail : <input type="text" name="email"><br/> Une petite note ? <select name="note" Size=1> <option>Note /10 <option value=10>10 <option value=9>9 <option value=8>8 <option value=7>7 <option value=6>6 <option value=5>5 <option value=4>4 <option value=3>3 <option value=2>2 <option value=1>1 <option value=0>0 </select> <br/><br/> Une petite vérification avant de continuer... <br/> <? $nombre=rand(10, 100); ?> Combien font <? echo $nombre; ?> +1 ? <input type="text" name="verification" size="10"><br/><br/> <input type="hidden" name="lenombre" value="<? echo $nombre; ?>"> <input type="submit" value="Envoyer le message !"> </form> </body> |
->> Voir l'état actuel du livre d'or
->> Voir l'état actuel du code
Maintenant nous allons voir comment afficher les messages stockées dans la base de donnée !