我正在尝试基于cookie条件回显字符串,代码如下所示:
<?php setcookie('a12cookie', '1'); ?>
<?php if (isset($_COOKIE['a12cookie'])) { ?>
<?php echo "hello"; ?>
<?php } ?>
<?php else { ?>
<?php echo "bye"; ?>
<?php } ?>
我显示“hello”没问题,就在我添加else条件时,我收到以下错误:
Parse error: syntax error, unexpected T_ELSE in /home/looksr5/public_html/cookie1.php on line 6
我知道我在第6行遗漏了一些东西,无法弄清楚是什么。
答案 0 :(得分:3)
只需将else
放在}
之后
像这样:
<?php } else { ?>
答案 1 :(得分:2)
这应该有效:
<?php setcookie('a12cookie', '1'); ?>
<?php echo (isset($_COOKIE['a12cookie']) ? "Hello" : "Bye");?>
*我喜欢使用三元运算符的唯一情况是我有像你这样的简单条件echo语句。
此外,当使用PHP作为演示语言时,通常最好使用其替代语法。这样您就可以非常轻松地插入其他演示文稿。
<?php if(isset($_COOKIE['a12cookie'])):?>
Hello
<?php else:?>
Bye
<?php endif;?>
答案 2 :(得分:2)
如果您打算使用}
语句,则不允许在else
之后关闭php标记。您的代码应如下所示:
...
<?php } else { ?>
...
答案 3 :(得分:0)
您的代码应如下所示:
<?php setcookie('a12cookie', '1');
if (isset($_COOKIE['a12cookie'])) {
echo "hello";
} else {
echo "bye";
}
或至少:
<?php setcookie('a12cookie', '1');
if (isset($_COOKIE['a12cookie'])) {
?>hello<?php } else {
?>bye<?php }
答案 4 :(得分:0)
你也可以写,有时它更容易阅读
<?php if (isset($_COOKIE['a12cookie'])): ?>
<?php echo "hello" ?>
<?php else: ?>
<?php echo "bye" ?>
<?php endif ?>