如何在不同页面上更改 PHP include 的背景颜色?

4
我们正在做一个学校项目的网站,需要一些简单的PHP帮助。
我们有一个包含头部/导航的4页网站。但是我们想要每个页面都有不同的背景颜色,但如果我们更改颜色,所有页面的颜色都会被更改,因为我们使用了“includes”。
这是一个页面的示例:
<?php   
        $pagetitle = "Forside";
        require_once("includes/header.inc.php");
?>

###SOME CONTENT FOR THIS PAGE###

<?php   
        require_once("includes/footer.inc.php");
?>

我们希望更改“includes/header.inc.php”中包含的 < body > 标签的颜色。

但是,如果我们更改该颜色,则所有使用头部包含的页面上的颜色都会更改。

是否可以使用一些PHP代码来更改这个呢?

我们的导航非常简单,可以在这里看到:

<nav id="menu">
        <a href="./index.php"><img class="navigation" src="./img/forside-billede.png" /></a>
        <a href="./gaestebog.php"><img class="navigation" src="./img/gaestebog-billede.png" /></a>
        <a href="./citater.php"><img class="navigation" src="./img/citater-billede.png" /></a>
        <a href="./koncept.php"><img class="navigation" src="./img/koncept-billede.png" /></a>
    </nav>

如果您需要更多信息来帮助我们,或者您不理解我们的问题,请写下来。先在此感谢您!


由于您正在设置页面标题,请使用if语句查看所在的页面,并相应更改CSS。 - Jim
3个回答

2

您可以在包含头文件之前为每个PHP文件设置颜色。然后您可以在header.inc.php中的css中使用该PHP变量。

<?php   
        $pagetitle = "Forside";
        $bodyColor = "#ff0000";
        require_once("includes/header.inc.php");
?>

###SOME CONTENT FOR THIS PAGE###

<?php   
        require_once("includes/footer.inc.php");
?>

如果CSS在您的头部标签之间,您可以在CSS中执行以下操作:
```css header { /* 这里是您的CSS样式 */ } ```
....
....
body {
    background:<?=$bodyColor;?>;
}
....
....

如果不是这样,您可以使用“style”属性,例如:
....
....
<body style="background:<?=$bodyColor;?>;">
....
....

0
<?php
$path_parts = pathinfo(__FILE__);
$page = $path_parts['filename'];// Get the page name
$page = ! empty($page) ? $page : 'index'; // if no page name, set it to `index`
$backgrounds = array(); // define array of background colors.
$backgrounds['index'] = 'BACKGROUND COLOR FOR THIS PAGE'; //assign colors for pages.
$backgrounds['gaestebog'] = 'BACKGROUND COLOR FOR THIS PAGE';
$backgrounds['citater'] = 'BACKGROUND COLOR FOR THIS PAGE';
$backgrounds['koncept'] = 'BACKGROUND COLOR FOR THIS PAGE';
$background = ! empty($backgrounds[$page]) ? $backgrounds[$page] : ''; // get respective color for the page.
?>

header.inc.php

<body style="background-color:<?php echo $background?>">

谢谢,我已经尝试使用您的代码,但它没有起作用。我知道 <body style="background-color:<?php echo $background?>"> 应该在我们的 header.inc.php 中,但是那一大块代码应该放在哪里?也要放在 header.inc.php 中的 body 标签之前吗? - user3414678
是的,那就是确切的位置。 - Pupil
嗨,我们已经让它工作了,非常感谢您在此事上花费的时间!祝您有美好的一天! - user3414678

0

您可以使用标签在每个页面的HTML代码中更改背景颜色:

<style  type="text/css">
    body{ background-color: #ccc;}
</style>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接