Мы делаем сайт для школьного проекта и помогаем с (простым) PHP.
У нас есть веб-сайт с 4 страницами, которые мы используем для заголовка / навигации. Но нам нужны разные цвета фона для наших страниц, но если мы изменим цвет, цвет будет изменен на всех сайтах, потому что мы используем включает.
Это пример страницы:
<?php
$pagetitle = "Forside";
require_once("includes/header.inc.php");
?>
###SOME CONTENT FOR THIS PAGE###
<?php
require_once("includes/footer.inc.php");
?>
Мы хотим изменить цвет < тег body>, который находится внутри «includes / header.inc.php»
Но, как я сказал, если мы изменим этот цвет, цвет будет изменен на всех страницах, где мы используем заголовок.
Можно ли это изменить с помощью 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>
Пожалуйста, напишите, если вам нужна дополнительная информация, чтобы помочь нам, или если вы не понимаете нашу проблему. Заранее спасибо!
Вы можете установить цвет для каждого файла PHP, прежде чем включать заголовок. Затем вы можете использовать эту переменную PHP в css в header.inc.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:
....
....
body {
background:<?=$bodyColor;?>;
}
....
....
Если это не так, вы можете использовать style
атрибут, например:
....
....
<body style="background:<?=$bodyColor;?>;">
....
....
<?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?>">
Вы можете изменить цвет фона в HTML-коде каждой из ваших страниц, используя теги:
<style type="text/css">
body{ background-color: #ccc;}
</style>