Page 1 sur 1

Besoin d aide pour livredor

Posté : 20 nov. 2011, 10:19
par minouche
Bonjour j'ai besoin votre aide svp, je vient de creer livredor, je voir pas ou est le problême svp voici code :
livredor.html
<html>

<head>

<title>Livre d'or</title>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

</head>

<body>



<h1>Le Livre d'OR</h1>

<!-- On commence le formulaire, pour le resultat on invoquera la page "message.php" grâce à l'attribut action de la balise form -->

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

<!-- Notre formulaire est fini on ferme la balise form -->



</body>

</html>

et code 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 (future) 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."\n".$message."\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);





?>

et code consultezlo.php
 
<?php

$consultez="messages.txt";

readfile($consultez);

?>
et je reçois ce message que je dois faire svp ?


Parse error: syntax error, unexpected T_DNUMBER in /homepages/23/d362436105/htdocs/message.php on line 5


merci en attendant votre réponse
cordialement

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 10:49
par xTG
<?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 (future) 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."\n".$message."\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);
?>
Ligne 5 :
// 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);
Une addition, car le point c'est la virgule en PHP ou bien une concaténation de chaînes de caractères. ;)

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 11:38
par minouche
Rebonjour j'ai modifier, maintenant la case et blanc , que je dois faire svp ?

cordialement

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 11:46
par minouche
Rebonjour j'ai oublier mettre adresse mon site pour voir livre d'or, j'ai modifier (.) mise le (+)
et je voir la case blanc fixe rien donne, que je dois faire d'autre svp ?

cordialement

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 11:48
par minouche
voici adresse : paysan-jardin.fr

cordialement

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 13:10
par moogli
salut,

pour déboguer faut virer les @ devant les fonctions, car cela empêche l'affichage des messages !

2 fopen un seul fclose.

revois les tests à effectuer pour que cela fonctionne comme tu le souhaite :)

tu pourrais utiliser un sgbd pour gérer cela (mysql ou sqlite) ce serais un poil plus pratique :)


@+

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 14:04
par laurent_06
Voici le site ou j'ai creer livre d'or

http://www.c-p-f.org/php-Livre_dor_sans ... es-a8.html

cordialement

Re: Bonjour j'ai besoin de aide svp

Posté : 20 nov. 2011, 15:38
par moogli
1/ pas de support par MP

2/ que ce passe t'il sans les @ devant les fonctions ?
A tu essayé de voir avec l'auteur ?
A tu vérifier les le chmod du fichier comme indiqué dans le lien que tu fournis ?

@+