Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP按时更改背景_Php_Time - Fatal编程技术网

PHP按时更改背景

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

所以,对于学校,我必须让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="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);