使用CSS和PHP时遇到问题


Having trouble using CSS and PHP

我很难让CSS和PHP协同工作。作为课堂上的一个项目,我被要求制作一个带有随时间变化的图像的时钟。我们得到了一系列的图像,然后被告知我们还必须使背景颜色随时间变化。(请参阅此处的完整说明:https://github.com/susanBuck/notes/blob/master/04_PHP/07_Clock_exercise.md)。我用clock.php、logic.php和style.php三个文件制作了我的项目。我的索引文件是clock.php。当我需要更改背景时,问题就出现了。在我的逻辑文件中,有一系列elseif,我用它们来更改backround的url,所以我添加了一个名为$color的var。

if ( $hours < 11 && $hours > 5 && $am == "am" ) {
    $time = "php-morning.png";
    $color = "#865f86";
} elseif ( $hours >= 11 && $am == "am" || $hours > 4 && $am == "pm" ) {
    $time = "php-afternoon.png";
    $color = "#2c87c8";
} elseif ( $hours >= 4 && $hours < 8 && $am == "pm" ) {
    $time = "php-evening.png";
    $color = "#c7b02f";
} elseif ( $hours >= 8 && $am == "pm" || $hours < 5 && $am == "am" ) {
    $time = "php-night.png";
    $color = "#180629";
}

然后在我的样式表中,我使背景等于:

 body {
    background-color: <? echo $color ?>;
}

我还在样式表的开头包含了标记,使其读作css文件。(<?php header("Content-type: text/css; charset: UTF-8");?>(,但颜色不变。我试着只重复$color,以确保它正常工作,事实确实如此。我的完整github存储库在这里:http://is.gd/WVPuHG任何帮助都将不胜感激。

$color未在style.php文件中定义,仅在logic.php文件中定义。你已经在clock.php中正确地require d了它,但你也应该在style.php 中要求它

仅仅因为您作为样式表链接到style.php,并不意味着PHP变量会神奇地传递给它——这是一个单独的请求。