Livre d'or php bug

Fermé
SilViN - 9 janv. 2008 à 20:12
 SilViN - 9 janv. 2008 à 20:16
Bonjour,

voila j'ai un petit problème ... Je ne suis pas très très fort en php et j'ai voulu me faire un petit livre d'or mais il ne fonctionne pas.
J'ai voulu faire sans base de donnée donc il enregistrerai les infos dans un fichier texte à coté mais lorsque je clique sur le bouton, il y a une erreur : http://www.meylan-silvin.emfprod.ch/livreor.php

Voici le code du livre d'or et de l'affichage des messages

<h1>Le Livre d'OR</h1>
<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">
A voir également:

1 réponse

Désolé bug :S Alors voici le code de la page :
<h1>Le Livre d'OR</h1>




<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" />
<p>
<?php
$consultez="messages.txt";
readfile($consultez);
?>
</p>




Et le code de 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 égal à l'ip du client, alors on le stoppe

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 stoppe 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éger des balises HTML

$pseudo=htmlentities($_POST['pseudo']);

$message=htmlentities($_POST['message']);

//Pensons au retour à la ligne et aux 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 sont pas vide

elseif (trim($message)=="" || trim($pseudo)=="")

{

echo "Vous devez remplir tous les champs ! <a href="livreor.php">Retour sur le livre d'or</a>";

// On sort du script !

exit;

}


// Après ces quelques vérifications d'usage, on passe à l'exécution de ce formulaire

// Si ok, on ouvre en écriture-enregistrement du fichier message.txt

$verif=@fopen($commentaires,"r+");


// On analyse les anciennes données et on les stocke

$stock=@fread($verif,filesize($commentaires));


// On met la date dans une variable

$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 clôt le fichier

fclose($verif);

// On affiche le tout

readfile($commentaires);

?>


Voila j'espere que quelqun d'aimable pourra m'aider !! a+++
0