-1

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行目で何かを見逃していることはわかっていますが、何がわかりません。

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

ステートメント}を使用する場合は、後で php タグを閉じることはできません。elseコードは次のようになります。

...
<?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 に答える