PHP按时更改背景
所以,对于学校,我必须让PHP显示时间,例如,当它是12:00时,背景是下午的,而在02:00时是晚上的。这是我的代码:PHP按时更改背景,php,time,Php,Time,所以,对于学校,我必须让PHP显示时间,例如,当它是12:00时,背景是下午的,而在02:00时是晚上的。这是我的代码: <body> <?php <div class="tijd"> date_default_timezone_set('GMT+1'); echo date('h:i'); $Tijd = date('h'); if ($Tijd > 12 || $Tijd <17') { echo '<div class="Midda
<body>
<?php
<div class="tijd">
date_default_timezone_set('GMT+1');
echo date('h:i');
$Tijd = date('h');
if ($Tijd > 12 || $Tijd <17') {
echo '<div class="Middag"> </div>';
}
if ($Tijd > 12 || $Tijd <17') {
echo '<div class="Avond"> </div>';
}
if ($Tijd >= '22') {
echo '<div class="Nacht"> </div>';
}
if ($Tijd >= '6') {
echo '<div class="Ochtend"> </div>';
}
echo('Dit is een test...')
?>
</div>
</body>
</html>
但是,什么东西在这里不起作用?在网页上,它正确地显示了时间,但没有显示背景。它也不工作,而我做了一个背景色或什么,所以我知道它不仅是背景色。我也试着用PHP做背景,但有点失败。你应该使用if,else if:
话虽如此,您的前两个测试条件是完全相同的,因此您也应该看看这一点。这应该是一个注释,但有点长 除了Marc B的评论外,到处都是随机引号——在进行数值比较时不要引用数值。您正在混合HTML和PHP-
<?php
<div class="tijd">
这应该会导致代码抛出大错误。如果您没有看到这些错误,那么您需要调查原因
运行多个if语句的方式很混乱。您可以使用if…else if…else if…else,但如果使用switch语句,代码将更加清晰:
switch((integer)$Tijd) {
case 13:
case 14:
case 15:
case 16:
echo '<div class="Middag"> </div>';
break;
case 22:
case 23:
echo '<div class="Nacht"> </div>';
break;
default:
echo '<div class="Avond"> </div>';
break;
}
正如您所看到的,这里有一些未被原始代码描述的空白
<?php
$hour = date('H'); //H is for 24 hours interval
if ($hour > 4 && $hour < 6) {
$class = 'earlier-morning';
} elseif ($hour >=6 && $hour <=11) {
$class = 'morning';
} elseif ($hour >=11 && $hour < 15) {
$class = 'midday';
} elseif($hour >= 15 && $hour < 19) {
$class = 'day';
} elseif ($hour >= 19 && $hour < 22) {
$class = 'evening';
//the only one case left - hours between 22 and 4
} else {
$class = 'night';
}
echo sprintf('<div class="%s"></div>', $class);
这里的诀窍是埃尔塞夫
因此,只有一个条件在这里始终有效
另外,我认为你的例子中额外的引用是一个错误- 你的条件重叠。e、 如果是23,则输出Natch div,但也输出Octend类,因为23>6也是真的。你对middag和avod的条件也是一样的,所以它们也会被复制。哦,php代码也充满了语法错误。你不能在php中使用原始html,而且你缺少了一个“.你到处都有不匹配的单引号。有很多类似的答案,但请注意,h的间隔为12小时。所以你需要使用H
<?php
$hour = date('H'); //H is for 24 hours interval
if ($hour > 4 && $hour < 6) {
$class = 'earlier-morning';
} elseif ($hour >=6 && $hour <=11) {
$class = 'morning';
} elseif ($hour >=11 && $hour < 15) {
$class = 'midday';
} elseif($hour >= 15 && $hour < 19) {
$class = 'day';
} elseif ($hour >= 19 && $hour < 22) {
$class = 'evening';
//the only one case left - hours between 22 and 4
} else {
$class = 'night';
}
echo sprintf('<div class="%s"></div>', $class);