PDA

Voir la version complète : aide pour livre d'or sans base de données


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

Allan
28/01/2007, 23h07
Déplacer .

Fred
28/01/2007, 23h53
dans ton fichier livre.php tu met

<?php
$consultez="messages.txt";
readfile($consultez);
?>

<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>

etant donner que j'ai la téte ailleurs je c'est pas si c'est good enfin bref tu me dira ^^

yod@117
29/01/2007, 11h03
non j'ai essayé mais sa fonctionne pas


<?php
$consultez="messages.txt";
readfile($consultez);
?>

le code ci-dessus est ce que je retrouve dans la page consultez.php

0a$!s
29/01/2007, 14h51
Pourquoi ne pas faire un iframe ?

yod@117
29/01/2007, 17h15
trop fort sa fonctionne, je l'améliore et je post merci a vous deux

0a$!s
29/01/2007, 18h01
À vous 3 : Allan a tout de même fait 3 clics de souris et 10 tappements de claviers pour déplacer ton sujet dans la section adéquate :p .

De rien ;)

yod@117
29/01/2007, 18h11
oupsmeoui alors merci allan, oa$!s , fred et yod

par la mème occasion llol

Rysus
11/02/2007, 15h43
Es ce possible de modifier ce hack pour en faire un livre de doléance

Je souhaiterais le modifier, puis-je avoir votre aval et éventuellement

les indications pour bien le modifier ....

et pourquoi pas ?? rendre le nom de celui-ci modifiable via l'admincp

Merci d'avance