yod@117
28/01/2007, 22h06
bonsoir a tous,
le lien du livre (http://www.siteduzero.com/tuto-3-2398-1-un-livre-d-or-sans-base-de-donnees---les-fichiers-en-php.html)
je voudrai que la lecture et la créations des messages soit sur la même page
si quelqu'un peut m'aider.
le code dans mon template livre.php
<form action="message.php" method="post">
<div>
<fieldset> <legend>Votre Nom</legend>
<input type="text" name="pseudo" />
</fieldset>
<fieldset><legend>Postez un message pour le livre d'or</legend>
<textarea cols="66" rows="6" name="message"></textarea>
</fieldset>
<input type="submit" />
<!-- On va créer un lien vers une autre page pour ceux qui veulent consulter le livre d'or sans poster dedans -->
<p>
Pour consultez simplement le livre d'or <a href="consultezlo.php">cliquez ici</a>
</p>
</div>
</form>
la page message.php
<?php
// Pour éviter qu'une unique personne poste 50 fois dans le livre d'or, on va insérer un cookie
setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90);
// Si le cookie est égale à l'ip du client alors on le stop
if(isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR'])
{
echo "<h1>Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>";
// On stop le script
exit;
}
// Mettons le (futur) fichier dans une variable.
$commentaires="messages.txt";
// assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML
$pseudo=htmlentities($_POST['pseudo']);
$message=htmlentities($_POST['message']);
//Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($message));
// On met en place quelques conditions pour les cellules (nom et message)
// On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée
if(!is_file($commentaires))
{
$verif=@fopen($commentaires,"w+");
}
// On vérifie que le login ou le message ne soient pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
echo "Vous devez remplir tous les champs ! <a href=\"livredor.htm\">Retour sur le livre d'or</a>";
// On sort du script !
exit;
}
// Après ces quelques vérification d'usage on passe à l'exécution de ce formulaire
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
$verif=@fopen($commentaires,"r+");
// On analyse les anciennes données et on les stocks
$stock=@fread($verif,filesize($commentaires));
// On met la date dans une varialbe
$date=date ("d/m/Y à H:i");
// On paramère le tout dans la variable $opinion
$opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
//On remet le curseur du fichier en début de ligne
rewind($verif);
//On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
//On clore le fichier
fclose($verif);
// On affiche le tout
readfile($commentaires);
?>
voici le code dans la page de lecture des messages
<?php
$consultez="messages.txt";
readfile($consultez);
?>
http://img444.imageshack.us/img444/4456/livrezv2.th.jpg (http://img444.imageshack.us/my.php?image=livrezv2.jpg)
merci
le lien du livre (http://www.siteduzero.com/tuto-3-2398-1-un-livre-d-or-sans-base-de-donnees---les-fichiers-en-php.html)
je voudrai que la lecture et la créations des messages soit sur la même page
si quelqu'un peut m'aider.
le code dans mon template livre.php
<form action="message.php" method="post">
<div>
<fieldset> <legend>Votre Nom</legend>
<input type="text" name="pseudo" />
</fieldset>
<fieldset><legend>Postez un message pour le livre d'or</legend>
<textarea cols="66" rows="6" name="message"></textarea>
</fieldset>
<input type="submit" />
<!-- On va créer un lien vers une autre page pour ceux qui veulent consulter le livre d'or sans poster dedans -->
<p>
Pour consultez simplement le livre d'or <a href="consultezlo.php">cliquez ici</a>
</p>
</div>
</form>
la page message.php
<?php
// Pour éviter qu'une unique personne poste 50 fois dans le livre d'or, on va insérer un cookie
setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90);
// Si le cookie est égale à l'ip du client alors on le stop
if(isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR'])
{
echo "<h1>Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>";
// On stop le script
exit;
}
// Mettons le (futur) fichier dans une variable.
$commentaires="messages.txt";
// assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML
$pseudo=htmlentities($_POST['pseudo']);
$message=htmlentities($_POST['message']);
//Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($message));
// On met en place quelques conditions pour les cellules (nom et message)
// On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée
if(!is_file($commentaires))
{
$verif=@fopen($commentaires,"w+");
}
// On vérifie que le login ou le message ne soient pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
echo "Vous devez remplir tous les champs ! <a href=\"livredor.htm\">Retour sur le livre d'or</a>";
// On sort du script !
exit;
}
// Après ces quelques vérification d'usage on passe à l'exécution de ce formulaire
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
$verif=@fopen($commentaires,"r+");
// On analyse les anciennes données et on les stocks
$stock=@fread($verif,filesize($commentaires));
// On met la date dans une varialbe
$date=date ("d/m/Y à H:i");
// On paramère le tout dans la variable $opinion
$opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
//On remet le curseur du fichier en début de ligne
rewind($verif);
//On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
//On clore le fichier
fclose($verif);
// On affiche le tout
readfile($commentaires);
?>
voici le code dans la page de lecture des messages
<?php
$consultez="messages.txt";
readfile($consultez);
?>
http://img444.imageshack.us/img444/4456/livrezv2.th.jpg (http://img444.imageshack.us/my.php?image=livrezv2.jpg)
merci