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

Fermé
aviallon - 23 juil. 2013 à 21:15
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 24 juil. 2013 à 09:19
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');
?>


A voir également:

3 réponses

Spz91 Messages postés 71 Date d'inscription mardi 30 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013
Modifié par Spz91 le 23/07/2013 à 22:20
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
ajoutes == dans tes if
if ( $quest == '...') { ... } else if ($quest == '...' ){....} 

écrit header comme ça:
header("location:..."); 


et reposes ton cerveau ! :)
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
24 juil. 2013 à 09:19
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