Erreur (T_DNUMBER)

Résolu
sunev Messages postés 40 Statut Membre -  
sunev Messages postés 40 Statut Membre -
Bonjours à tous
En attendant de savoir faire un meilleur livre d'or pour mon site, j'ai trouvé un:
Livre d'or sans base de données
je le lance, je rempli les champs et clique sur "envoyer"
je suis en local avec easyphp

Le message d'erreur reçu :

Parse error: syntax error, unexpected '.3600' (T_DNUMBER) in C:\Program Files\EasyPHP-12.1\www\message.php on line 3

Le code employé :
<?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);
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>";
        exit;
$commentaires="messages.txt";
$pseudo=htmlentities($_POST['pseudo']);
$message=htmlentities($_POST['message']);
$message=stripslashes(nl2br($message));
if(!is_file($commentaires))
{
        $verif=@fopen($commentaires,"w ");
}
elseif (trim($message)=="" || trim($pseudo)=="")
{
        echo "Vous devez remplir tous les champs ! <a href=\"livredor.htm\">Retour sur le livre d'or</a>";
        exit;
        $verif=@fopen($commentaires,"r ");
        $stock=@fread($verif,filesize($commentaires));
        $date=date ("d/m/Y à H:i");
        $opinion="<b>".$pseudo."</b> a écrit le : ".$date."\n".$message."\n<hr />";
        rewind($verif);
       fputs($verif,$opinion." \n".$stock);
        fclose($verif);
        readfile($commentaires);
?>


je vois pas d'ou viens l'erreur ou les erreurs
merci pour les réponses

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Le message d'erreur te donne la ligne (la 3 ) et t'indique qu'il y a un souci avec le ".3600"

    Si tu regardes le manuel de la fonction setcookie : https://www.php.net/manual/fr/function.setcookie.php
    tu verras que ce n'est pas un "." qui est utilisé ... mais un "+"
    0
    1. sunev Messages postés 40 Statut Membre
       
      Merci ça fonctionne, c'est simple quand on connait.
      Maintenant il y a un deuxième souci, le message est envoyé mais fini avec une page blanche et le fichier "messages.txt" reste inlassablement vide de massage.
      pourtant tous les fichiers associés au formulaire sont bien dans le mème répertoire
      Meme en cliquant directement sur le lien "Pour consultez simplement le livre d'or cliquez ici" qui est sur le formulaire
      c'est toujours une page blanche que l'on voit apparaitre
      En attendant d'être plus calé pour faire un livre d'or avec une base de données, j'aimerais bien faire fonctionner celui la sur mon site, l'auteur de ce code donne tout les droits d'en faire ce qu'on veut
      si quelqu'un connait la réponse merci d'avance.

      code pour le fichier formulaire "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>

      code pour le fichier "message.php"

      <?php
      $consultez="messages.txt";
      readfile($consultez);
      ?>
      le dernier fichier est vide "messages.txt"
      0
    2. sunev Messages postés 40 Statut Membre
       
      Désolé j'ai lu EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :ICI
      aprés avoir poster le message, j'y veillerais la prochaine fois

      Merci a toi jordane45 pour l'adresse du manuel des fonctions php, super
      0