Flux rss
Collection CommentÇaMarche.net

Parse error: syntax error, unexpected $end

Bookmark Ajouter aux favoris / Partager
Dernière mise à jour le 27 juin 2008 à 22:31 par fleursdespyrenees
Publié par kilian
Lorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur:
Parse error: syntax error, unexpected $end in Command line code on line 1

En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une erreur de syntaxe, fin de code inattendue".



Qu'est-ce qui provoque cette erreur?


En fait, cette erreur signifie que Php a fini d'analyser votre code, mais que vous avez oublié de fermer un symbole quelque part dans votre page ou dans celles qui ont été incluses.
Concrètement cela arrive quand:
  • Vous avez par exemple oublié de fermer un guillemet, donc Php continue d'analyser votre code jusqu'à ce qu'il trouve le guillemet fermant, qu'il ne trouve pas...
  • Vous avez oublié de fermer une accolade, donc à partir de la dernière accolade ouvrante, Php considère tout le code qui suit comme faisant partie d'un bloc qui ne se termine jamais...
  • Vous avez oublié de fermer une parenthèse, donc à partir de la dernière parenthèse ouvrante, Php considère tout le code qui suit comme faisant partie d'un même bloc spécifique (condition, arguments de fonctions etc...) qui ne se termine pas.
  • Vous avez oublié un point virgule, donc pour Php, il y a une instruction dans votre code qui ne possède pas de fin.


Par conséquent, inutile de se référer à la ligne signalée par Php comme étant l'origine de l'erreur. Php vous dira que le problème vient de la dernière ligne, alors que l'origine peut être située un peu n'importe où dans la page concernée ou dans les pages qui y sont incluses.

Exemples de codes qui provoquent cette erreur


Voici quelques exemples de codes qui sont susceptibles de provoquer cette erreur.

Oubli de l'accolade fermante:
<?
if ($condition){
     echo "vrai";
?>

Oubli de fermer un guillemet:
<?
echo "test;
?>

Oubli de fermer une parenthèse:
<?
mysql_query("gnagnagna", "pouet", "cecinestpasunserveursql.com" ;
?>

Oubli d'un point virgule:
<?
if ($test){
    echo '1'
}
?>

Comment corriger / éviter cette erreur


Ceci vient bien souvent du fait que l'on organise mal la présentation de son code. Surtout pensez à bien indenter votre code, à bien distinguer visuellement les différents blocs.

Exemple d'un code propre:
//Equivalent de array_reverse()
function inverse_tableau($tableau)
{
    $ret = array();
    if (is_array($tableau) ){
        for($i=sizeof($tableau) - 1; $i >= 0; $i++)
        {
            $ret[] = $tableau[$i];
        }
    }
    return $ret;
}

Exemple d'un code non indenté, plus difficile à débugger:
function inverse_tableau($tableau)
{
$ret = array();
if (is_array($tableau) ){
for($i=sizeof($tableau) - 1; $i >= 0; $i++)
{
$ret[] = $tableau[$i];
}
}
return $ret;
}

Si vous rencontrez cette erreur, sachez qu'elle ne se situe pas nécessairement à la fin de votre code, par exemple l'oubli d'une accolade peut se situer tout au début de votre code, même si votre fichier fait 1000 lignes.

Bon courage!
Parse error: syntax error, unexpected T_CONST (Résolu) Voila j'ai un souci, j'ai un message d'erreur qui est : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home.25/m/e/r/merloene/www/gestion/mail.php on line 61 et ma ligne 61, correspond a mon premier echo ! mais je n'arrive pas a... www.commentcamarche.net/forum/affich-3642180-parse-error-syntax-error-unexpected-t-const
Parse error: syntax error, unexpected T_CONST (Résolu) Bonjour, J'ai un petit soucis avec une erreur SUr une de mes page. voici l'erreur: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/sites/1/ifrance.com/l/a/lacandeliere/site/affserie.php on line 21 et voici les lignes 18 a 24:... www.commentcamarche.net/forum/affich-6496031-parse-error-syntax-error-unexpected-t-const
Parse error: syntax error, unexpected T_STRIN (Résolu) Bonjour je cherche à rendre la validation de mon formulaire oppérationelle mais chaque fois que je veux valider je tombe sur ce message : Parse error: syntax error, unexpected T_STRING in /home4/l/lecabaretinsolit/www/formulaire/nadform.php3 on line... www.commentcamarche.net/forum/affich-2678688-parse-error-syntax-error-unexpected-t-strin
PHP Parse error: unexpected '<' in ... eval()'d code on line Symptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected ' www.commentcamarche.net/faq/sujet-9977-php-parse-error-unexpected-in-eval-d-code-on-line
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
[php] Parse error: syntax error, unexpected TBonjour Aujourd'hui j'arrête pas de vous embêté, mais je suis décidé pour avancer dans mon site... Voila j'ai fais un script pour permettre au membre de retrouver son mot de passe mais j'obtient le message : Parse error: syntax error, unexpected... www.commentcamarche.net/forum/affich-2275610-php-parse-error-syntax-error-unexpected-t
A l'aide!Parse error: syntax error,Bonjour, J'ai ce message qd je veux me connecter sur mon admin WP: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /homepages/44/d279178963/htdocs/wp-login.php on line 518 et encore une fois qd je demande un nouveau mot de... www.commentcamarche.net/forum/affich-12269892-a-l-aide-parse-error-syntax-error
Parse error: syntax error,unexpected T_STRING (Résolu)Bonjour, j'ai un probleme avec ce message d'erreur, j'ai bien regardé et je vois pas où se trouve mon erreur, si vous pouvez m'aider s'il vous plait ! Le message complet : Parse error: syntax error, unexpected T_STRING in... www.commentcamarche.net/forum/affich-5848295-parse-error-syntax-error-unexpected-t-string
PHP - Parser du XMLIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3