【发布时间】:2017-07-18 09:54:15
【问题描述】:
我正在尝试根据用户的 cookie 打印出特定图像。
cookie 可以具有以下两个值之一:en 或 es。首先,我想首先检查该 cookie 是否存在。如果是,则打印出它的值。否则,它应该打印出en。
这是一个语言 cookie。 en = english,es = spanish。
我在/img/flags/ 文件夹中有两个标志,一个英国标志和一个西班牙标志,它们的名称分别为en.gif 和es.gif
这是我的代码:
<img src="/img/flags/<?php (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en') ?>.gif">
现在它只是打印出一个空图像(没有文件名),无论我是否设置了 cookie:/img/flags/.gif
我做错了什么?
我宁愿使用三元,因为它看起来更好。如果我进行常规的 IF 检查,它可以正常工作:
if (isset($_COOKIE['lang'])) {
echo $_COOKIE['lang'];
} else {
echo 'en';
}
【问题讨论】:
-
为什么要投反对票?详细说明。
-
cmets + downvotes 的问题已经在 Meta 上讨论过了。许多人只是选择DV并继续前进。许多人提供建议。许多人试图为新手照亮道路。无论如何,您可能无法从那些为您提出问题的人那里得到答复,因为他们可能已经继续前进了。
标签: php if-statement ternary-operator