Php: Parse error: parse error in...? [Résolu/Fermé]

Signaler
-
 simou -
Bonjour,
j'ai un script php pour lire le fichier xml en l'exécutant un message d'erreur est afficher:Parse error: parse error in c:\program files\xxxxx\xxx\xxx\exfxml.php on line 27 , j'ai vérifier des fermetures de tout les accolade mais j'ai rien trouver tout est fermer.
<?php
 require_once("lib/db_connect.inc.php");
 require_once('lib/inc_Site2010.php'); 

	$connexion=db_connexion();	
	
include('fonctions.php');

//$cin=$_POST['cin'];
//$nom=$_POST['nom'];
//$prenom=$_POST['prenom'];
//$adresse=$_POST['adresse'];
//$observation=$_POST['observation'];

/////////////////////////////////////
$dom = new DomDocument();

//on charge le fichier
$dom->load('Fxml.xml');

//on r?cup?re les informations dans le fichier XML
$personnes = $dom->getElementsByTagName('repertoire');

foreach($personnes as $personne)
{
  $Noms = $personne->getElementsByTagName("nom");
  $nom = $Noms->item(0)->nodeValue;
  $Ids = $personne->getElementsByTagName("id");
  $id = $Ids->item(0)->nodeValue;
  echo $nom;
  echo $id;
}
/////////////



?>


merci d'avance

6 réponses

merci infiniment le pére j'ai changer la version de easyphp et le script marche très bien
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Bonjour

Il n'y a pas de parse error dans le code que tu montres, en tous cas je n'en vois pas et il ne s'en produit pas quand je l'exécute chez moi.
Le code que tu montres est-il bien à celui du fichier indiqué dans le message d'erreur (attention au chemin complet) ?

Si tu en es sûr, introduis volontairement une parse error dans la ligne précédente, par exemple:
  $Noms = $pers onne->getElementsByTagName("nom");

Pour voir si elle est bien détectée
merci de me répondre en faite je suis certaine que cet erreur m'affiche a chaque foi que j'exécute le script c bizarre ?
Si tu en es sûr, introduis volontairement une parse error dans la ligne précédente, par exemple:

$Noms = $pers onne->getElementsByTagName("nom");


j'ai mis un parse error volontairement mais l'erreur est le même??
alors qui peux m'aidez SVP ?
je suis certaine que cet erreur m'affiche a chaque foi Je me doute bien qu'elle s'affiche, ce que je te demandais, c'est si tu étais sûr que le code que tu nous montre est bien celui du fichier c:\program files\xxxxx\xxx\xxx\exfxml.php.

Tu ajoutes une erreur à la ligne précédente, et tu as toujours ton erreur sur la même ligne ? C'est que le fichier qui s'exécute n'est pas celui que tu as modifié, donc pas celui dont tu nous a donné le code.
j'ai ajouter une erreur avant la ligne ou elle cause l'erreur
$nom = $Noms->item(0)->nodeValue;
j'ai mis un acolade fermante juste avant et l'erreur est la meme :Parse error: parse error in c:\program files\easyphp1-8\www\site2010\exfxml.php on line 27
???
peut être parce que la version de Easy php 1.8.0.1 ???
Quelle est la version de PHP incluse dans Easy php 1.8 ? Car si c'est la V3, effectivement, les objets n'existaient pas et la syntaxe -> doit apparaître comme une parse error. Mais ce devrait être sur la ligne 26, pas la ligne 27.
En fait, il y avait peut-être une ligne vide au début de ton script, et la ligne 27 est en fait celle que j'ai prise pour la 26

première chose à faire : vérifier ta version de php
ensuite :
insère une ligne absurde genre kljsd khg hj g au début de ton script après <?php.
Si ton erreur reste toujours sur la même ligne, c'est que tu te trompes de fichier
désolé normalement le v3 je suis pas sur (comment peu t on savoir la version ?)
j'ai ajouter n'importe quoi (qsds) avant <?php --> L'erreur:Parse error: parse error in c:\program files\easyphp1-8\www\site2010\exfxml.php on line 3
Easyphp doit bien afficher la version de PHP quelque part...
Sinon, crée un nouveau script qui contient simplement :
<?php
phpinfo();
?>

et lance-le.

Au moins si l'erreur est passée à la ligne 3, nous savons que nous parlons bien du bon fichier.
Il est probable que ta version de PHP soit trop ancienne.
j'ai exécuter
<?php
phpinfo();
?>

PHP Version 4.3.10
Je ne comprends plus du tout, aucune de mes hypothèses ne tient.
Je laisse tomber pour ce soir, mais je reviendrai.
Pour être bien sûr de la ligne concernée, tu peux vérifier que le numéro de ligne d'erreur augmente si tu rajoutes une ligne vide immédiatement avant la ligne accusée, et qu'il n'augmente pas si tu rajoutes une ligne vide immédiatement après.

Autre essai faisable : met en commentaire tes deux require_once du début. C'est comme ça que j'ai fait pour essayer chez moi. Il y avait bien sûr d'autres erreurs, mais pas de parse error. Or les parse error sont détectées à la première passe, avant les définitions manquantes.
Une autre question qui me vient : as-tu bien recopié la totalité du message d'erreur ? N'y a-t-il aucune précision avant 'Parse error' ou après 'line 27' ?