我的网站上有以下代码:
<?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;">';
}; ?>
这应该做的是确定$loggedout
是否等于true,如果是,则显示/data/loggedout
。如果$loggedout
不正确(或不存在),则应继续确定Cookie hide
是否存在。如果cookie确实存在,则不应该onload
,如果cookie不存在,则应显示/data/surveyinvite
。
但是,在访问我的页面时出现以下错误:
解析错误:语法错误,意外 T_ELSE in /home/briefs/public_html/index.php on 第16行
第16行
echo '<body class="slider-header" onload="Modalbox.show(\'/data/loggedout\',{width: 576, title: \'Logged Out\'}); return false;">'; else {
我已经确定问题出在以下某处(如果我摆脱它,$loggedout
按预期工作):
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;">';
};
此代码中的问题在哪里?
答案 0 :(得分:5)
如果你正确地缩进你的代码并且总是使用括号(我知道它们不是必需的;无论如何都要这样做,因为它可以防止像这样的愚蠢错误)然后你会发现它更容易没有犯这么简单的错误。你错过了几个大括号,这就是全部。
<?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;">';
}
}
?>
答案 1 :(得分:1)
您缺少一些大括号“{”和“}”应为:
<?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"])) { # <-- here
echo '<body class="slider-header">';
} else { # <-- here
echo '<body class="slider-header" onload="Modalbox.show(\'/data/surveyinvite\',{width: 576, title: \'Website Survey\'}); return false;">';
} # <-- and here
}; ?>