Page 1 sur 1

Comment identifier mes erreurs code php ?

Posté : 14 sept. 2011, 11:18
par ehjoe
Bonjour,

J'ai une erreur :
Parse error: parse error in C:\wamp\www\PHP\jo2_php\_compteur.php on line 11
Mais je ne sais pas ce que ça veut dire, d'autant que si on compte les lignes vides, la ligne 11 c'est :
<?php
header("Pragma: no-cache");
$compteur=1;
/*
$page=basename($_SERVER['HTTP_REFERER']);
$position = strpos($page, "."); // de 0
$lenom=substr($page, 0, $position);
*/

$lenom="jo2" // rajout pour php
$nomfic=$lenom."_ctr_pt.txt";
Voici mon code en entier, pouvez-vous jeter un oeil à mes sauts de page en fin, lors de l'affichage, je ne suis pas certain ?
<?php
header("Pragma: no-cache");
$compteur=1;
/*
$page=basename($_SERVER['HTTP_REFERER']);
$position = strpos($page, "."); // de 0
$lenom=substr($page, 0, $position);
*/

$lenom="jo2" // rajout pour php
$nomfic=$lenom."_ctr_pt.txt";
$nomficip=$lenom."_ctr_ip.txt";
$aujourdhui = date("d/m/Y");

/*$ipclient=$_SERVER['REMOTE_ADDR'];*/

$ipclient="1234.5678.9101.1213" // rajout pour php
$trace="";


if (file_exists($nomfic)) // fichier compteur
  {
$trace=$trace."fichier compteur existe=OUI  ||  "; //<<---
  $dateficip = date("d/m/Y", filemtime($nomficip));
  if ($aujourdhui <> $dateficip)
    {
$trace=$trace."aujourdhui<>dateficip  ||  "; //<<---
    $fileip=@fopen($nomficip, "w"); // recrée fic ip
    fclose($fileip);
    } 

  $fileip=@fopen($nomficip, "r");  // cherche si IP existante 
  while (!feof($fileip))
    {
    if ($ipclient == fgets($fileip))
      {
      fclose($fileip); // ip déjà écrite
      $file=@fopen($nomfic, "r+"); 
      fscanf($file, "%d", $compteur);
      fclose($file);
$trace=$trace."IP EXISTE + lit_compteur ||  "; //<<---
      goto fin;
      }
    }
  fclose($fileip);

$trace=$trace."IP N'EXISTE PAS  ||  "; //<<---
  $fileip=@fopen($nomficip, "r+");
    fputs($fileip, "\n"); 
    fputs($fileip, $ipclient);
  fclose($fileip);

  $file=@fopen($nomfic, "r+"); 
   fscanf($file, "%d", $compteur);
   $compteur++;
   rewind($file);
   fputs($file, $compteur);
  fclose($file);
$trace=$trace."a écrit IP ET Ctr+1  ||  "; //<<---
  }

else 

  {
$trace=$trace."compteur existe=NON  ||  "; //<<---
  $fileip=@fopen($nomficip, "w");
   fputs($fileip, $ipclient);
  fclose($fileip);
  $file=@fopen($nomfic, "w");
   fputs($file, $compteur);
  fclose($file);
  }
fin:
$trace=$trace."FIN  ||  "; //<<---

echo $compteur.\n\n;
// vérification
echo "position = ".$position.\n;
echo "nom html = ".$lenom;
echo "nom php = ".$nomfic;
echo "ip client = ".$ipclient;
echo "nom fic ip = ".$nomficip;
echo "aujourd\'hui = ".$aujourdhui;
echo "date fic ip = ".$dateficip;
echo $trace; 
?>
Merci.

Re: Comment identifier mes erreurs code php ?

Posté : 14 sept. 2011, 11:51
par Mazarini
L'erreur est sur la ligne 10 en fait comme souvent, c'est la ligne précédente.

Code : Tout sélectionner

$lenom="jo2" // rajout pour php

Re: Comment identifier mes erreurs code php ?

Posté : 14 sept. 2011, 11:54
par Cyrano
Le message d'erreur est pourtant explicite et t'indique le numéro de la ligne où PHP rencontre une erreur.

Là, ta ligne en erreur est celle-ci :
$lenom="jo2" // rajout pour php
PHP rencontre un caractère tout à fait inattendu qui n'a pour lui aucun sens traduisible en action quelconque. Il manque quelque chose dans ta ligne. Attention sur ce point précis, PHP est moins laxiste que JavaScript qui permet plus facilement cette omission, je te laisse observer très attentivement.

Re: Comment identifier mes erreurs code php ?

Posté : 14 sept. 2011, 13:12
par ehjoe
Bonjour,

Merci, vu !
C'est vicieux ce ";" du C... je me fais souvent avoir, y a mille ans que je nécris plus de C...
Mais il a le droit de dire qu'il ne rencontre pas de ";", ou au moins énumérer les possibilité fréquentes, d'autres éditeurs signalent ça (j'utilise juste l'émulateur Apache).