Un livre d'or en php et mysql

Article Informatique proposé par Panther le Mardi 03 Avril 2007 à 23h55Share

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 !