Parse error: syntax error, unexpected T_IF in /Applications/MAM...

aviallon -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Je suis développeur expérimenté mais j'avoue que la je bloque :
Voici l'erreur :
Parse error: syntax error, unexpected T_IF a in /Applications/MAMP/htdocs/FSE/nav.php on line 4

et voici le script :
<?php 
if ($quest = 'acceuil'){
	$page = $quest;
}else if ($quest = 'archivesfse'){
	$page = $quest;
}else if ($quest = 'unlog'){
	header "Location: unlog.php";
}else{
	$page = 'acceuil';
}
$page = ($page . '.php');
?>


3 réponses

  1. Spz91 Messages postés 76 Statut Membre
     
    L'erreur vien de la ligne 4 soit :

    }else if ($quest = 'archivesfse'){

    Il fait mettre deux egale si tu veut que sa marche voici le code :

    <?php
    if ($quest == 'acceuil'){
    $page = $quest;
    }else if ($quest == 'archivesfse'){
    $page = $quest;
    }else if ($quest == 'unlog'){
    header "Location: unlog.php";
    }else{
    $page = 'acceuil';
    }
    $page = ($page . '.php');
    ?>
    0
  2. coco
     
    ajoutes == dans tes if
    if ( $quest == '...') { ... } else if ($quest == '...' ){....} 
    
    écrit header comme ça:
    header("location:..."); 


    et reposes ton cerveau ! :)
    0
  3. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Le problème du double == est certes réel, mais c'est un problème purement fonctionnel qui ne justifie absolument pas un Parse Error.
    C'est un peu comme si je disais qu'il y a une faute à « accueil ».

    Par contre, pour le header, il faut effectivement l'écrire avec des parenthèses. Ceci-dit, ce n'est là encore pas le premier problème que tu as, car cela donnerait une autre erreur :
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in test.php on line 7


    Le code tel que tu le donnes, et en corrigeant le header, passe sans soucis chez moi.
    N'y a-t-il rien d'autre dans ta page PHP ?
    À quelle ligne correspond la ligne 4 ?

    En général, une erreur de syntaxe du genre « unexpected quelque chose » dénote d'une erreur dans le code précédent la ligne indiquée. Du genre une accolade ou des guillemets non fermée, voire un point-virgule manquant.

    Xavier
    0