Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Как сделать смену оформления сайта в зависимости от времени суток в php

Ответить
Настройки темы
[решено] Как сделать смену оформления сайта в зависимости от времени суток в php

Старожил


Сообщения: 359
Благодарности: 6


Конфигурация

Профиль | Отправить PM | Цитировать


Как сделать смену оформления сайта в зависимости от времени суток в php
для HTML нашол а для PHP нет

HTML код: Выделить весь код
давай попробуем это изобразить... возьмем стандартный скрипт приветствия от времени суток: <script language="JavaScript"> <!-- var time = new Date(); var hour = time.getHours(); if(hour > 22 & hour <= 6) document.write("Доброй ночи!"); if(hour > 6 & hour <= 11) document.write("Доброе утро!"); if(hour > 11 & hour <= 18) document.write("Добрый день!"); if(hour > 18 & hour <= 22) document.write("Добрый вечер!"); // --> </script> изменяем его под наши нужды: <script language="JavaScript"> <!-- var time = new Date(); var hour = time.getHours(); if(hour > 22 & hour <= 6) parent.setstyle(style1.css); //ночь if(hour > 6 & hour <= 11) parent.setstyle(style2.css); //утро if(hour > 11 & hour <= 18) parent.setstyle(style3.css); //день if(hour > 18 & hour <= 22) parent.setstyle(style4.css); //вечер // --> </script> в принципе скрипт готов... его нужно поместить в радел body любого фрейма... при входе в чат пользователь получит тот стиль, что соответствует времени суток... но этот стиль останется таким все время нахождения чатланина в чате, если только он не поменяет стиль вручную... можно чуть изменить скрипт, чтобы автоматически происходила смена стиля при постоянном нахождении чатланина в чате: <script language="JavaScript"> <!-- function styletime() { var time = new Date(); var hour = time.getHours(); if(hour > 22 & hour <= 6) { parent.setstyle('style1.css'); } if(hour > 6 & hour <= 11) { parent.setstyle('style2.css'); } if(hour > 11 & hour <= 16) { parent.setstyle('style3.css'); } if(hour > 16 & hour <= 22) { parent.setstyle('style4.css'); } setTimeout("styletime()",5*60*1000) } // --> </script> проверка осуществляется раз в пять минут, думаю, что этого достаточно... ну, и нужно не забыть про запуск самой функции: <script>styletime();</script>


и есть ещо один способ


HTML код: Выделить весь код
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin function getCSS() { datetoday = new Date(); timenow=datetoday.getTime(); datetoday.setTime(timenow); thehour = datetoday.getHours(); if (thehour > 20) display = "tree_twilight.css"; else if (thehour > 17) display = "tree_sunset.css"; else if (thehour > 14) display = "tree_afternoon.css"; else if (thehour > 11) display = "tree_noon.css"; else if (thehour > 7) display = "tree_morning.css"; else if (thehour > 4) display = "tree_sunrise.css"; else if (thehour > 1) display = "tree_twilight.css"; else display = "tree_sunset.css"; var css = '<'; css+='link rel="stylesheet" href=' + display + ' \/'; css+='>'; document.write(css); // End --> } </script> <script language="javascript">getCSS();</script> Устанавливаем один из стилей как дефолтный, на случай, если у пользователя отключен JS. <noscript> <link rel="stylesheet" href="tree_sunset.css" type="text/css"> </noscript>


Но ето всё не то
мне надо чтобы 4 раза в сутки было так

PHP код: Выделить весь код

<body id="dusk"  class="f-default style<?=$num_sait['stail'];?>">

<body id="night"  class="f-default style<?=$num_sait['stail'];?>">
<body id="day"  class="f-default style<?=$num_sait['stail'];?>">
<body id="dawn"  class="f-default style<?=$num_sait['stail'];?>">

тоесть "dusk" , "night" , "day" , "dawn" менялись местами по времени

имею это и немного знаю PHP

PHP код: Выделить весь код

// Это скрипт JS

window.addEvent('load', function() {
    if (
document.body.id == '') {

        if (
tempus != false) {
            
timeofday tempus;
            
document.body.id=tempus;
        } else {
            
datetoday = new Date();
            
timenow=datetoday.getTime();
            
datetoday.setTime(timenow);
            
thehour datetoday.getHours();

            if (
thehour >= 20)
             
timeofday "night";
            else if (
thehour >= 17)
             
timeofday "dusk";
            else if (
thehour >= 9)
             
timeofday "day";
            else if (
thehour >= 5)
             
timeofday "dawn";
            else
             
timeofday "night";

            
document.body.id=timeofday;
            
        }
        
Cookie.set('dim-tempus'timeofday, {duration1/24,path"/"});
    }
}); 


Отправлено: 00:11, 23-01-2009

 

Вредитель


Сообщения: 460
Благодарности: 126

Профиль | Отправить PM | Цитировать


Часы можно получить вот так
Код: Выделить весь код
$thehour=date("G")
а дальше сранивайте и делайте оформление

-------
Все сказаное является только моим личным мнением.


Отправлено: 00:37, 23-01-2009 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Цитата binders:
// Это скрипт JS
window.addEvent('load', function() { »
это только с js-библиотекой будет работать (c mootools точно, и еще от версии зависит)...

на сервере время клиента неизвестно, можно дополнительно искать страну по IP или как у вас кукис ставить и проверять... но в принципе лучше стиль у клиента подгружать сразу (как в первом листинге)...

Отправлено: 04:09, 23-01-2009 | #3


Старожил


Сообщения: 359
Благодарности: 6

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

//надо было 



<body id="dusk"  class="f-default style<?=$num_sait['stail'];?>"> 
<body id="night"  class="f-default style<?=$num_sait['stail'];?>"> 
<body id="day"  class="f-default style<?=$num_sait['stail'];?>"> 
<body id="dawn"  class="f-default style<?=$num_sait['stail'];?>">

//сделал 

<body id="<?php
$h
=date('H');
if (
$h>=&& $h<=7)
{echo 
"night";}
elseif (
$h>=&& $h<=11)
{echo 
"dawn";}
elseif (
$h>=12 && $h<=20)
{echo 
"day";}
elseif (
$h>=21 && $h<=24)
{echo 
"dusk";}
?>"  class="f-default style<?=$num_sait['stail'];?>">

//итог стиль сайта меняется 4  раза за сутки

примерно как сдесь

Последний раз редактировалось binders, 23-01-2009 в 05:42.


Отправлено: 05:18, 23-01-2009 | #4


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Цитата binders:
стиль сайта меняется 4 раза за сутки »
по времени сервера...

Отправлено: 05:52, 23-01-2009 | #5


Старожил


Сообщения: 359
Благодарности: 6

Профиль | Отправить PM | Цитировать


по идее должно менятся по времени железа юзера

Отправлено: 19:28, 23-01-2009 | #6


Старожил


Сообщения: 359
Благодарности: 6

Профиль | Отправить PM | Цитировать


Оказалось я был жутко не прав в денвере всё работало так как время сервера и юзера тоесть меня было одно и тоже
но как только залил всё на сервер перестало работать оказалось PHP обробатывает по серверному времени
помогите сделать чтоб стили менялись по времени юзеров

Отправлено: 01:48, 26-01-2009 | #7


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


второй листинг должен сработать...

Отправлено: 18:09, 26-01-2009 | #8


Старожил


Сообщения: 359
Благодарности: 6

Профиль | Отправить PM | Цитировать


Здрасте не прошло и полу года как я опять заинтересовался этим вопросом
Вопрос
что надо прописать в php
чтоб "dusk" , "night" , "day" , "dawn" менялись местами в зависимости от времени суток
PHP код: Выделить весь код

<body id="dusk"  class="f-default style<?=$num_sait['stail'];?>"> 

<body id="night"  class="f-default style<?=$num_sait['stail'];?>"> 
<body id="day"  class="f-default style<?=$num_sait['stail'];?>"> 
<body id="dawn"  class="f-default style<?=$num_sait['stail'];?>">

тоесть из этого скрипта
PHP код: Выделить весь код

// Это скрипт JS 

window.addEvent('load', function() { 
    if (
document.body.id == '') { 

        if (
tempus != false) { 
            
timeofday tempus
            
document.body.id=tempus
        } else { 
            
datetoday = new Date(); 
            
timenow=datetoday.getTime(); 
            
datetoday.setTime(timenow); 
            
thehour datetoday.getHours(); 

            if (
thehour >= 20
             
timeofday "night"
            else if (
thehour >= 17
             
timeofday "dusk"
            else if (
thehour >= 9
             
timeofday "day"
            else if (
thehour >= 5
             
timeofday "dawn"
            else 
             
timeofday "night"

            
document.body.id=timeofday
             
        } 
        
Cookie.set('dim-tempus'timeofday, {duration1/24,path"/"}); 
    } 
}); 

сктипт выдран из дизайна на joomle

Отправлено: 01:28, 27-04-2009 | #9


Старожил


Сообщения: 359
Благодарности: 6

Профиль | Отправить PM | Цитировать


всё решил проще некуда

но можно как нибудь попроще время прописывать ?
чтоб из админки на пхп попроще можно было время сменить ?
HTML код: Выделить весь код
<script language=JavaScript> var h=(new Date()).getHours(); if (h > 23 || h < 7) document.write("<body id='night' class='f-default'>"); if (h > 6 && h < 12) document.write("<body id='dawn' class='f-default'>"); if (h > 11 && h < 19) document.write("<body id='day' class='f-default'>"); if (h > 18 && h < 24) document. write("<body id='dusk' class='f-default'>"); </script>


Отправлено: 05:23, 04-10-2009 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Как сделать смену оформления сайта в зависимости от времени суток в php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] подставлять значения в зависимости от открытой страницы PhP binders Вебмастеру 11 05-10-2009 00:53
MySQL - Как на PHp организовать ssh туннель подключиться к бд Mysql с сайта на другом хосте TitovB5 Программирование и базы данных 0 03-01-2009 18:29
Регулировка макс. громкости в зависимости от времени суток. Oleg_SK Программное обеспечение Windows 1 02-05-2007 13:44
как сделать поле посреди сайта с полосой прокрутки? Denis Shutka Вебмастеру 8 07-02-2005 15:26
Как сделать запрос на PHP?? JS Вебмастеру 3 30-10-2004 23:35




 
Переход