Изменение стиля сайта используя PHP

Вы хотите, чтобы пользователь мог выбирать любой стиль сайта? Если ДА, то этот урок для Вас. В этом уроке мы научимся создавать пользовательское изменение стиля сайта. Для этого нам понадобится только знание PHP.

Допустим, что у нас есть 4 таблицы стилей:

blue.css

red.css

black.css

yellow.css

blue.css - это наш стиль по-умолчанию.

Для того, чтобы выбранный пользователей стиль не менялся при переходе на другие страницы, мы будем использовать сессии. Сессии хранят информацию в браузере, но в отличие от Cookies они удаляться сразу после закрытия браузера. Для начала сессии используем следующий код.

session_start();

Размещать код открытия сессии необходимо выше всех тегов, даже тегов типа документа. Не забудьте разместить код на всех страницах сайта.

Теперь будем создавать переключатель стилей. Именно он будет переключать стили.

			    if(isset($_GET['css'])){ 
					switch  ($_GET['css']) {
						case 'red': 
						$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style  /red.css">'; 
						$_SESSION['switchcss']=$stylesheet; 
						break;
						case  'yellow': 
						$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style  /yellow.css">'; 
						$_SESSION['switchcss']=$stylesheet; 
						break;
						case  'black': 
						$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style  /black.css">'; 
						$_SESSION['switchcss']=$stylesheet; 
						break;
						// наш  стиль по умолчанию 
						default: 
						$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style/blue.css">'; 
						$_SESSION['switchcss']=$stylesheet; 
					} 
				}
			    

Как вы можете увидеть, у нас есть 3 случая.

				case 'red'
				case  'yellow'
				case  'black'
				

Каждый из них содержит код;

				$stylesheet  = '<link rel="stylesheet" type="text/css" href="">';
				

Но у каждого разные значения для HREF (место нахождения таблицы стилей). Последний стиль называется не case 'blue', а default. Так как он является стилем по умолчанию.

Следующая часть кода вставляется в теге <head>

				echo  ($_SESSION['switchcss'])? $_SESSION['switchcss']: '<link href="/ style /blue.css"  type="text/css" rel="stylesheet">';
				

Этот код будет выводить ту сессию, какую выбрал пользователь. Соответственно будет отображаться тот стиль, какой выбрал пользователь.

Последний кусок кода вставляем там где Вы хотите разместить ссылки для изменения стиля.

				Выберите стиль <a href="/style/<?php  echo $_SERVER['PHP_SELF']; ?>?css=red">[red]</a> 
				| 
				<a  href="/ style /<?php echo $_SERVER['PHP_SELF'];  ?>?css=default">[blue]</a> 
				| 
				<a href="/ style /<?php  echo $_SERVER['PHP_SELF']; ?>?css=yellow">[yellow]</a> 
				| 
				<a  href="/ style /<?php echo $_SERVER['PHP_SELF'];  ?>?css=black">[black]</a>
				

Вот и все.

Примерно так должен выглядеть весь код.

			    <?php  session_start(); ?>
			    <!DOCTYPE  html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
			    <html  lang="en"> 
					<head>
					<meta  http-equiv="Content-Type" content="text/html;  charset=ISO-8859-1" />
					<title>Изменение  стилей</title>
						<?php 
							if(isset($_GET['css'])){ 
								switch  ($_GET['css']) {
									case 'red': 
									$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style/red.css">'; 
									$_SESSION['switchcss']=$stylesheet; 
									break;
									case  'yellow': 
									$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style/yellow.css">'; 
									$_SESSION['switchcss']=$stylesheet; 
									break;
									case  'black': 
									$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style/black.css">'; 
									$_SESSION['switchcss']=$stylesheet; 
									break;
									default: 
									$stylesheet  = '<link rel="stylesheet" type="text/css" href="/style/blue.css">'; 
									$_SESSION['switchcss']=$stylesheet; 
								} 
							} 
						?>
						<?php  echo ($_SESSION['switchcss'])? $_SESSION['switchcss']: '<link href="/style/blue.css"  type="text/css" rel="stylesheet">';?>
					</head>
					<body>
						<div  id="something"> 
							<div  id="anotherthing"> 
								Select  <a href="/style/<?php echo $_SERVER['PHP_SELF'];  ?>?css=red">[red]</a> | <a href="/style/<?php echo  $_SERVER['PHP_SELF']; ?>?css=default">[blue]</a> | <a  href="/style/<?php echo $_SERVER['PHP_SELF'];  ?>?css=yellow">[yellow]</a> | <a href="/style/<?php  echo $_SERVER['PHP_SELF']; ?>?css=black">[black]</a> 
							</div>
						</div>
					</body> 
				</html>
				 
Просмотров: 4537      Опубликовал: Евгений Фединчик      Дата: 02.04.2010 16:41:17
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

    В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

    Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.

    Комментарии:

    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Яндекс
    Статистика HitUa