Un livre d'or se décompose en 2 grandes parties : l'affichage du livre et l'enregistrement des messages par les utilisateurs.
1/ L'enregistrement des messages.
La methode la plus simple pour faire un livre d'or est bien sur d'utiliser une base de données. Il vous faut donc la créer.
Regardons les champs dont vous allez avoir besoin : l'email de la personne, le site internet de la personne, la date du message et le message bien sur !
Donc dans sql creez votre table : par exemple :
- Code: Tout sélectionner
CREATE TABLE `monlivredor` (
`pseudo` varchar(20) ,
`mail` varchar(40),
`web` varchar(40),
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`message` text,
PRIMARY KEY (`pseudo`,`date`)
)
Voilà
Maintenant, il vous faut un formulaire, qui sera dans la page signer par exemple
Le formulaire doit contenir les champs a remplir, un bouton pour valider et un lien vers la page qui se chargera de faire l'enregistrement (ici enregistrement.php, mais cela doit etre spécifié dans la balise form pour la valeur de l'attribut action)
Dans le corps de votre page (entre les balises <body> et </body> donc, mettez le formulaire qui ressemble à peu pres à ca :
- Code: Tout sélectionner
<form method="POST" action="enregistrement.php" enctype="application/x-www-form-urlencoded" name="" >
<table cellpadding="1" cellspacing="0" align="center" bgcolor="#666666" border="0">
<tr>
<th align="center" height="20"><b>Entrer vos commentaires ci dessous :</b>
</th>
</tr>
<tr>
<td>
<table border=0 cellpadding=3 align="center" cellspacing="0" bgcolor="#555555">
<tr>
<td width="32%"><u>Nom :</u>
</td>
<td > <input class="input" type="text" name="pseudo" value="" size=40 >
</td>
</tr>
<tr>
<td width="32%"><u>Email :</u>
</td>
<td > <input class="input" type="text" name="mail" value="" size=40 >
</td>
</tr>
<tr>
<td width="32%"> <u>URL :</u>
</td>
<td > <input class="input" type="text" name="web" size=40 >
</td>
</tr>
<tr>
<td valign="top" width="32%"> <u>Commentaires :</u>
</td>
<td > <textarea class="input" name="message" cols="40" rows="10" ></textarea>
</td>
</tr>
<tr>
<td width="32%"> <input class="button" type="reset" name="reset" value="Effacer" >
</td>
<td align=RIGHT > <input class="button" type="submit" name="OK" value="Valider" >
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
Ensuite, il faut faire quelque chose de ces données : elle seront traitées dans enregistrement.php :
- Code: Tout sélectionner
<?
//ici les parametres pour la connexion
$host="monhost";
$user="monuser";
$base="mabase";
$passe="monpass";
$table="monlivredor";
//on effectue la connexion
$serveur = @mysql_connect("$host","$user","$passe");
//Selection de la base de données
$select_base=@mysql_selectdb("$base");
//Si la connexion echoue
if (!$select_base)
{
echo "Mauvaise configuration!!!";
}
//Sinon
else
{
if (isset($HTTP_POST_VARS))
{
$pseudo = $HTTP_POST_VARS['pseudo'];
$mail = $HTTP_POST_VARS['mail'];
$web = $HTTP_POST_VARS['web'];
$pseudo = $HTTP_POST_VARS['pseudo'];
$message = $HTTP_POST_VARS['message'];
$query = "INSERT INTO `monlivredor` ( `pseudo` , `mail` , `web` , `message` , `date` )VALUES ('$pseudo', '$mail', '$web', '$message', NOW( ))";
$result = MYSQL_QUERY($query);
echo "<h1>Merci d'avoir signé mon livre d'or.</h1>
<div align= center>
<a href=index.php>Retourner au livre d'or</a>
</div>
";
}
else
{
echo "<h1>Erreur dans l'utilisation du fichier</h1>
<div align= center>
<a href=index.php>Retourner au livre d'or</a>
</div>
";
}
}
?>
En fait, ici, c'est vraiment simple, il suffit de récuperer les valeurs entrées et de les mettres dans la base de données.... En verifiant quand meme 2 ou 3 petites choses...
Attention, chez free $user et $base ont la meme valeur (en effet, votre base a pour nom votre login)
2/ L'affichage du livre d'or
En général, on affiche le livre d'or dans la page index.php. Dans votre corps de fichier, il vous suffit d'ajouter un lien vers la signature du livre, et la liste des messages que vous avez dans la base de données
- Code: Tout sélectionner
<div align ="center">
<a href ="signer.php">Signer le livre d'or</a><br>
</div>
<?
//ici les parametres pour la connexion
$host="monhost";
$user="monuser";
$base="mabase";
$passe="monpass";
$table="monlivredor";
//on effectue la connexion
$serveur = @mysql_connect("$host","$base","$passe");
//Selection de la base de données qui porte le meme nom que votre login
$select_base=@mysql_selectdb("$base");
//Si la connexion echoue
if (!$select_base)
{
//Afficher la ligne suivante
echo "Mauvaise configuration!!!";
}
//Sinon
else
{
echo "<hr>";
$res = mysql_query( "SELECT * FROM `monlivredor`order by 'date' DESC", $serveur);
if ($res)
{
while ( $q = mysql_fetch_array ($res, MYSQL_ASSOC) )
{
$pseudo = $q[pseudo];
$mail = $q[mail];
$web = $q[web];
$message = $q[message];
$date = $q[date];
// il faut décortiquer la date pour avoir un affichage plus sympa
$annee = substr("$date", 0, 4);
$mois = substr("$date", 5, 2);
$jour = substr("$date", 8, 2);
$heure = substr("$date", 11, 18);
// Pour garder les retours à la ligne
$message = str_replace("\n","<br>",$message);
echo "<b>$pseudo : <a href=\"mailto:$mail\">$mail</a> -$pageweb</b><br>\n
Le $jour/$mois/$annee à $heure :<br>\n
$message<br>
<hr>";
}
}
}
?>
Voilà vous savez tout sur les livres d'or maintenant
Il ne vous reste plus qu'à changer l'affichage comme vous le souhaitez
Si vous avez la moindre question, n'hesitez pas