2009-11-27 6 views
3

je reçois ce message d'erreur

Parse error: syntax error, unexpected $end in E:\xampp\htdocs\announcements\announcement.php on line 143

ligne 143 est la dernière ligne du fichier PHP . Quand je en commentaire

$htmlcode=<<<eod 
<div>$question</div> 
<div>$option1 $option2 $option3 $option4</div><br/> 
eod;  
echo $htmlcode; 

L'erreur a disparu. Qu'est-ce qui ne va pas?

Répondre

2

Qu'est-ce que j'ai trouvé après votre eod;, vous avez eu quelques espaces là-bas. Supprimez les espaces et cela fonctionnera correctement.

Testés:

<?php 
$htmlcode=<<<eod 
<div>$question</div> 
<div>$option1 $option2 $option3 $option4</div><br/> 
eod; 
echo $htmlcode; 
?> 
+0

Cool.Right sur la cible! Génie. – Steven

+0

rien beaucoup, juste couru le code et essayé différentes façons de voir quel est le problème. – mauris

4

Vous avez des espaces après eod;

Comme indiqué dans le manual

It is very important to note that the line with the closing identifier must contain no other characters, except possibly a semicolon (;). That means especially that the identifier may not be indented, and there may not be any spaces or tabs before or after the semicolon. It's also important to realize that the first character before the closing identifier must be a newline as defined by the local operating system. This is \n on UNIX systems, including Mac OS X. The closing delimiter (possibly followed by a semicolon) must also be followed by a newline.

+0

+1 pour déterminer les méchants – Atmocreations

1

Entourez les noms de variables dans votre bloc heredoc avec { et } comme ceci:

$htmlcode=<<<eod 
<div>{$question}</div> 
<div>{$option1} {$option2} {$option3} {$option4}</div><br/> 
eod; 
echo $htmlcode; 

Le problème est que PHP étouffe sur le fait que vous n'avez pas separa espaces ting vos variables $question et $option4 de l'ouverture < pour vos étiquettes de fermeture div.

De même, assurez-vous qu'il y a aucun espace après le point-virgule suivant votre délimiteur eod. La seule chose autorisée sur cette ligne est votre délimiteur et un point-virgule si nécessaire.

+0

fait des espaces blancs, ce n'est pas vraiment le cas. Avez-vous essayé le code? –

+0

Ehm, je veux dire à propos des variables. La partie sur les espaces est vraie. –

+0

Pas directement. Mais l'expérience personnelle avec PHP m'a conduit sur le chemin des problèmes de débogage comme ça pendant des heures et des heures. –

Questions connexes