Que veut dire: ( ! ) Parse error: syntax error, unexpected $

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Que veut dire: ( ! ) Parse error: syntax error, unexpected $

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par sirakawa » 02 févr. 2012, 18:45

J'ajouterai un grain de sel:
A Pour être moins sûr de se tromper, ou plus sûr de tomber juste, il est bien de taper l'ensemble de la syntaxe en même temps.
J'entends par là que au lieu de taper
1)if (1 > 2)
2) {
3) print "j'ai inventé l'eau tiède";
4) };
il vaut mieux taper
1)if (1 > 2)
2) {
4) print "j'ai inventé l'eau tiède";
3) };
Tout le monde a compris, j'espère, que les 1)... ne font pas partie du code.
et idem pour tous les trucs, et ils sont nombreux, qui vont par paires, et en particulier si la condition du ,if était plus complexe, ou les break des switch...
B L'indentation n'est pas un caprice d'informaticien malade:
entre
function fonc ($a, $b, $z,$u)
{
if ($a>$b)
{
$z=$u;
}
else
{
switch($b)
{
case -12:
$z = rand($z);
break;
case 12
break;
}
}
}
et
function fonc ($a, $b, $z,$u)
{
    if ($a>$b)
   {
       $z=$u;
   }
   else
   {
      switch($b)
      {
         case -12:
            $z = rand($z);
             break;
        case 12
           break;
      }
   }
}
il n'y a pas photo
C Les commentaires sont les bienvenus, non pas tant pour s'assurer que toutes les paires sont complètes, et encore que ça puisse servir, surtout si,on a dû modifier des if imbriqués, que pourb rappeler à quoi servent les divers éléments, variables, fonctions... Je peux dire, par expérience, que, ayant repris récemment un mien code vieux de six mois, j'ai buté un moment sur une partie pas ou mal documentée.
/* fonction fonc qui rend un nombre aléatoire
date 02/02/2012
état : au point
paramètres : $a entier, $b ,...
devrait retourner une valeur aléatoire
*/
function fonc ($a, $b, $z,$u);

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par fab » 02 févr. 2012, 13:19

Au passage tu sembles utiliser des if / else dans les templates pour celà je trouve que la syntaxe "commune" n'est pas la plus adaptée.

Code : Tout sélectionner

<?php if($condition) : ?> La condition est vérifiée <?php endif; ?>
Cette syntaxe est souvent bien plus adaptée et elle a le mérite de rendre les template plus propre.

http://php.net/manual/fr/control-struct ... syntax.php

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par moogli » 02 févr. 2012, 10:56

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par xTG » 02 févr. 2012, 10:25

Il manque une accolade fermante pour le premier if de ta fonction __set().
Si tu indentais ton code ce genre d'erreur tu le verrais tout de suite. ;)

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par djun@guest » 02 févr. 2012, 00:32

J'ai bien verifier je ne vois pas mon erreur.

( ! ) Parse error: syntax error, unexpected $end in C:\wamp\www\pizza.php on line 41

<?php

class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($object)
{
if ($object == 'Force')
{
return $this->Force;
}

return null;
}
 
public function __set($object, $valeur)
{
if ($object == 'Force') 
{
if (ctype_digit($valeur))
{
$this->Force = $valeur;
}
else
{
throw new Exception('La valeur doit être un numéro');
}
}

 
$Mario = new Ninja() ;
$Mario->Force = 20 ;

echo $Mario->__get('Force') ;
?>

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par sirakawa » 01 févr. 2012, 23:34

J'ai le sentiment de précher dans le désert, m'enfin, comme je suis bonne pâte aux heures creuses:
Parse : erreur d'analyse (parse: faire l'analyse grammaticale, par exemple)
error : erreur, faute, blague, connerie.
Syntax error : erreur de syntaxe : Php attendait quelque chose et il trouve autre chose.
Exemple:
<?PHP
if ()
{
?>
Parse error: syntax error, unexpected ')' in /var/www/htdocs/tests/test.php on line 2
')' non-attendu en ligne 2.
La cause de l'erreur est toujours avant. Ici, avant la parenthèse fermante, il faut une condition
<
?PHP
if ($a)
{
?>
résoud l'erreur précédente, car les parenthèses contiennent quelque chose

Parse error: syntax error, unexpected $end in /var/www/htdocs/tests/test.php on line 4
car if($a) {
fait attendre une accolade fermante
?PHP
if ($a)
{
}
?>
génère celle-ci:
Notice: Undefined variable: a in /var/www/htdocs/tests/test.php on line 3
car si la syntaxe est juste, on ne peut pas travailler avec une variable sans valeur.

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par djun » 01 févr. 2012, 23:26

Merci

Re: Que veut dire: ( ! ) Parse error: syntax error, unexpect

par Ryle » 01 févr. 2012, 23:24

Tu dois avoir une parenthèse ou une accolade qui n'est pas correctement fermée... du coup php va jusqu'à la fin de ton code et signale une erreur puisqu'il cherche une accolade ou une parenthèse fermante et qu'il tombe sur la fin du fichier...

Que veut dire: ( ! ) Parse error: syntax error, unexpected $

par djun » 01 févr. 2012, 23:20

J'ai faite un erreur dans mon code, puis mon erreur de parsing est:

( ! ) Parse error: syntax error, unexpected $end in