-1

我正在尝试根据 cookie 条件回显一个字符串,代码如下所示:

<?php setcookie('a12cookie', '1'); ?>
<?php if (isset($_COOKIE['a12cookie'])) { ?>
<?php echo "hello"; ?>

<?php } ?>

<?php else { ?>

<?php echo "bye"; ?>

<?php } ?>

我对它显示“你好”没有任何问题,只是当我添加 else 条件时,我得到以下错误:

Parse error: syntax error, unexpected T_ELSE in /home/looksr5/public_html/cookie1.php on line 6

我知道我在第 6 行遗漏了一些东西,不知道是什么。

4

5 回答 5

3

只需把else后面的}
像这样:

<?php } else { ?>

于 2013-01-22T18:21:46.877 回答
2

这应该有效:

<?php setcookie('a12cookie', '1'); ?>
<?php echo (isset($_COOKIE['a12cookie']) ? "Hello" : "Bye");?>

*我喜欢使用三元运算符的唯一情况是当我有像你这样的简单条件回显语句时。

此外,当使用 PHP 作为一种表示语言时,通常最好使用它的替代语法。这将允许您非常轻松地插入其他演示文稿。

<?php if(isset($_COOKIE['a12cookie'])):?>
Hello
<?php else:?>
Bye
<?php endif;?>
于 2013-01-22T18:21:51.150 回答
2

}如果您打算使用else语句,则不允许关闭 php 标签。您的代码应如下所示:

...
<?php } else { ?>
...
于 2013-01-22T18:22:15.850 回答
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 }
于 2013-01-22T18:26:42.393 回答
0

你也可以写,有时更容易阅读

<?php if (isset($_COOKIE['a12cookie'])): ?>
    <?php echo "hello" ?>
<?php else: ?>
    <?php echo "bye" ?>
<?php endif ?>
于 2013-01-22T18:28:08.773 回答