Parse error: syntax error, unexpected T_STRIN

tom10000 -  
 le père -
Bonjour,
un petit souci avec mon code, voici l'erreur :

Parse error: syntax error, unexpected T_ELSE in /var/www/vhosts/site.com/httpdocs/classes/Product.php on line 1299

Les lignes concernées : ( en gras la 1299 )

if ($id_customer AND $carte=0) {
$price *= ((100 - Group::getReduction($id_customer))/100);
self::$_prices[$cacheId] = ($divisor AND $divisor != 'NULL') ? number_format($price/$divisor, $decimals, '.', '') : number_format($price, $decimals, '.', '');
return self::$_prices[$cacheId];
else ($id_customer AND $carte=1)
$price *= ((100 - Group::getReduction($id_customer)*0.5)/100);
self::$_prices[$cacheId] = ($divisor AND $divisor != 'NULL') ? number_format($price/$divisor, $decimals, '.', '') : number_format($price, $decimals, '.', '');
return self::$_prices[$cacheId];
}

Quelqu'un à une idée ?
Merci par avance :)

6 réponses

  1. harderpod Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   50
     
    un point virgule a la fin de ta commande ?
    si c'est comme en C++ il te faut boucler ta commande par un point virgule, il y en a bien a toutes tes lignes sauf celle en gras.
    tient moi au courant
    0
  2. tom10000
     
    Merci, mais ça ne fonctionne pas :s
    0
  3. le père
     
    Bonjour

    Un else ne peut venir qu'immédiatement après l'instruction ou le bloc qui suit un if. Or, toi, ton else il est à l'intérieur du bloc ! Il faut une accolade } à la fin de la ligne qui précède le else.
    De même else(condition) n'existe pas en php : c'est else { ou bien elseif (condition) {
    Commence par corriger ces deux points.
    Ensuite, vérifie tes conditions. Elles ne sont pas syntaxiquement incorrectes, mais il y a gros à parier qu'elles ne font pas ce que tu veux. Pour mémoire, la comparaison c'est = et non pas ==.
    0
  4. le père
     
    Non, c'est le contraire ! La comparaison c'est ==, pas = !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tom10000
     
    Ok,

    donc, que faudrait-il à mon code :

    if ($id_customer AND $carte==0) {
    $price *= ((100 - Group::getReduction($id_customer))/100);}
    else { ($id_customer AND $carte==1)
    $price *= ((100 - Group::getReduction($id_customer)*0.5)/100);

    self::$_prices[$cacheId] = ($divisor AND $divisor != 'NULL') ? number_format($price/$divisor, $decimals, '.', '') : number_format($price, $decimals, '.', '');
    return self::$_prices[$cacheId];
    }
    }
    ( j'ai déclaré une fonction un peu plus haut )
    pour qu'il marche ?

    Sachant qu'actuellement j'ai une erreur :

    Parse error: syntax error, unexpected T_VARIABLE in /var/www/vhosts/pechere.webstockage.com/httpdocs/classes/Product.php on line 1295

    soit :

    $price *= ((100 - Group::getReduction($id_customer)*0.5)/100);

    ?

    Merci bcp pour vos contributions qui me permettent de mieux comprendre le code !
    0
  7. le père
     
    non, ton erreur n'est pas sur la ligne
    $price *= ((100 - Group::getReduction($id_customer)*0.5)/100);
    mais sur la ligne
    else { ($id_customer AND $carte==1)
    re-vérifie
    ce else est incorrect,
    Je t'ai dit que c'était
    else {
    ou bien
    elseif (condition) {
    et toi tu fais
    else { (condition)
    0