Dépannage “Parse error: syntax error, unexpected T_ELSE” imbriqués si les blocs
J'ai le code suivant sur mon site:
<?php
$loggedout = $_GET["loggedout"];
if ($loggedout=="true") {
echo '<body class="slider-header" onload="Modalbox.show(\'/data/loggedout\',{width: 576, title: \'Logged Out\'}); return false;">'; else {
if (isset($_COOKIE["hide"]))
echo '<body class="slider-header">';
else
echo '<body class="slider-header" onload="Modalbox.show(\'/data/surveyinvite\',{width: 576, title: \'Website Survey\'}); return false;">';
}; ?>
Ce que cela à faire est de déterminer si $loggedout
est égal à true et, le cas échéant, l'affichage /data/loggedout
. Si $loggedout
n'est pas vrai (ou absent), il devrait ensuite déterminer si le cookie hide
existe. Si le cookie n'existe pas, il ne devrait pas être onload
et si le cookie n'existe pas, il doit afficher /data/surveyinvite
.
Cependant, j'obtiens l'erreur suivante lorsque vous allez sur ma page:
Parse error: syntax error, unexpected
T_ELSE in
/home/briefs/public_html/index.php sur
ligne 16
La ligne 16 est
echo '<body class="slider-header" onload="Modalbox.show(\'/data/loggedout\',{width: 576, title: \'Logged Out\'}); return false;">'; else {
J'ai déterminé que le problème est quelque part dans la suite (si je me débarrasser de lui, $loggedout
fonctionne comme prévu):
if (isset($_COOKIE["hide"]))
echo '<body class="slider-header">';
else
echo '<body class="slider-header" onload="Modalbox.show(\'/data/surveyinvite\',{width: 576, title: \'Website Survey\'}); return false;">';
};
Où est le problème dans ce code?
Vous devez vous connecter pour publier un commentaire.
Si vous indenter ton code correctement et toujours utiliser des crochets (je sais ils ne sont pas nécessaires; faire de toute façon, car il empêche les erreurs stupides comme cela), alors vous constaterez qu'il est beaucoup plus facile de ne pas faire une telle erreur simple. Vous avez été absent plusieurs accolades, c'est tout.
Il vous manque quelques accolades "{" et "}" doit se lire: