2013-11-11 7 views
0

Целью является получение ссылки в режиме реального времени, которая будет отображаться на странице в рабочее время, но не отображается при закрытии. Следующий PHP работает на нашем тестовом сервере, но не на сервере нашего клиента. Любые идеи, почему это может работать на одном, а не на другом? Оба Apache управляются через GoDaddy.Показать DIV на основе времени суток - PHP

PHP:

<style> 
    .timeBasedLink { 
    <?php 
     date_default_timezone_set('America/Los_Angeles'); 
     $currentTime = date('H:i a'); 
     $openTime = "8:00 am"; 
     $closeTime = "6:00 pm"; 
     $open = DateTime::createFromFormat('H:i a', $openTime); 
     $close = DateTime::createFromFormat('H:i a', $closeTime); 
     $open = $open->format('H:i a'); 
     $close = $close->format('H:i a'); 
     if ($currentTime > $open && $currentTime < $close) 
    { ?> 
    display: block; 
    <?php 
    } 
    else 
    { 
    ?> 
    display:none; 
    <?php 
    } 
    ?> 
    } 
</style> 

HTML:

<div class="timeBasedLink"> 
    Put time-sensitive material here. 
</div> 
+1

LiveChat? Этот материал просто раздражает. Пожалуйста, не надо. –

+2

Как работает «Не»? Сообщение об ошибке? Дым, идущий с сервера? –

+2

Не помещайте этот код в стиль. Используйте его в фактической разметке и переверните класс в div. –

ответ

2

С момента открытия/время не предполагает минут закрытия, вы можете использовать полные целые числа, основанные от 24-часовой. В то время как время открытия составляет 8 (0800), а время закрытия составляет 18 (1800). Тогда это просто утверждение if. Я поставил php выше CSS для ясности:

date_default_timezone_set('America/Los_Angeles'); 
$currentHour = date("H"); 
$openTime = 8; 
$closeTime = 18; 
if ($currentHour >= $openTime && $currentTime < $closeTime){ 
    $css = 'display:block;'; 
}else{ 
    $css = 'display:none;'; 
} 

echo '<style type="text/css">.timeBasedLink {'.$css.'}</style>'; 
Смежные вопросы