[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка просроченности страницы
Borisych
Зравствуйте, друзья.
Я не программист и в PHP не силён, но возникла необходимость добавить в один проект проверку просроченности страницы, т.е. по заданным значениям даты начала и конца отображения страницы автоматически отключать её отображение. Я обратился к одному специалисту, который представился знатоком PHP. Он за 30 секунд написал мне вот такой код:
 <?php
$begin = strtotime('01/01/2014');
$end = strtotime('01/07/2014');
$today = strtotime(date('m/d/y'));
if (!($today >= $begin && $today <= $end)){
header('Location: http://адрес страницы, на которую нужно перейти.html');
die;
}
?>

Объяснил, что нужно вставить этот код перед тегом html в ту страницу, просроченность которой нужно проверять и если она будет просрочена, то сервер перенаправит браузер на ту, которая указана в "Location". Я проверяю на localhost на Денвере и у меня почему то не функционирует эта проверка. Возможно это будет работать на реальном сервере, но мне нужно, чтобы это работало на Денвере (а может проблема в Денвере? тогда на чём ещё можно организовать localhost?).

Может немного сумбурно объяснил, но уж как могу. Буду признателен за любую помощь в решении этой проблемы.
Valick
Цитата
тогда на чём ещё можно организовать localhost?

попобуйте вместо Денвера Open Server
___
код простой как палка и верёвка, тут вроде нечему не работать
как именно он не работает? что пишет, на что ругается?
случайно не Warning: Cannot modify header information - headers already


_____________
Стимулятор ~yoomoney - 41001303250491
MORFIUS-INC
1:
если вы указываете адрес локального хоста то ему не нужно указывать расширение: (*.html)
header('Location: http://localhost/');

2:
эти переменные указывают время жизни страницы а именно начало публикации и ее конец, которые сравниваются с текущей датой при проверке
$begin = strtotime('01/01/2014');
$end = strtotime('01/07/2014');

3:
Все таки рекомендую установить Open Server. так как денвер умер как проект и не обновляется уже несколько лет...
вот ссылка на сайт:
http://open-server.ru/

_____________
Рука бойцов колоть устала
Borisych
Цитата
код простой как палка и верёвка, тут вроде нечему не работать
как именно он не работает? что пишет, на что ругается?

Да ни на что не ругается и ничего не пишет. Всё дело в том, что на компе в автозагрузке запускается очень интересный файл плеера, который жёстко настроен так, что проигрывает контент запущенный в localhost на втором подключённом мониторе в полноэкранном виде (я даже не знаю, что это за плеер, размер файла всего 17 кб и, скорее всего, он запускает IE в определённом режиме). Страницы прокручиваются последовательно и скрипт, про который я спрашиваю, по идее, должен исключать из этой последовательности страницы, просроченные по дате. Так вот это самое исключение у меня на Денвере не работает. Я, конечно, неприменно воспользуюсь Open Server и протестирую работу этого плеера на нём.
Borisych
laugh.gif Ураааа! На Open Server всё прекрасно работает!!! Всем спасибо!!!
Borisych
Ребята, а нет ли возможности с помощью PHP скрипта задать метод вывода страницы на экран: например сдвигом влево или вправо, или ещё как то. Ну, в общем, каким либо эффектом. Я полагаю, что в моём случае Java скрипты работать не будут, т.к. для меня вообще не понятно, как запускается просмотр, какие механизмы задействует этот файл плеера. Попробовал воспользоваться старым способом для IE:
<meta http-equiv="Page-Enter" content="revealTrans(Duration=1,Transition=7)">

Результат отрицательный.
Borisych
Ребята, помогите пожалуйста!
Решил проверить этот скрипт на реальном сайте в интернете.
 <?php
$begin = strtotime('01/01/2014');
$end = strtotime('01/07/2014');
$today = strtotime(date('m/d/y'));
if (!($today >= $begin && $today <= $end)){
header('Location: http://www.zzzzzz/xxxxxx0.html');
die;
}
?>

Запускаю браузер, при первом заходе на просроченную страницу скрипт срабатывает чётко и перенаправляет на указанную страницу xxxxxx0.html, но стоит перейти на другую страницу, а потом снова вернутся назад, то перенаправления не происходит и открывается просроченная страница xxxxxx.php. После закрытия браузера и повторения действий всё повтряется - первый запуск срабатывает, а при возврате опять открывает просроченную страницу и в текущей сессии браузера больше не происходит перенаправления.

Я думал, что сервер каждый раз обрабатывает PHP команды. Может я не прав? В чем проблема?
Xpund
Цитата (Borisych @ 4.02.2014 - 01:33)
Ребята, помогите пожалуйста!
Решил проверить этот скрипт на реальном сайте в интернете.
 <?php
$begin = strtotime('01/01/2014');
$end = strtotime('01/07/2014');
$today = strtotime(date('m/d/y'));
if (!($today >= $begin && $today <= $end)){
header('Location: http://www.zzzzzz/xxxxxx0.html');
die;
}
?>

Запускаю браузер, при первом заходе на просроченную страницу скрипт срабатывает чётко и перенаправляет на указанную страницу xxxxxx0.html, но стоит перейти на другую страницу, а потом снова вернутся назад, то перенаправления не происходит и открывается просроченная страница xxxxxx.php. После закрытия браузера и повторения действий всё повтряется - первый запуск срабатывает, а при возврате опять открывает просроченную страницу и в текущей сессии браузера больше не происходит перенаправления.

Я думал, что сервер каждый раз обрабатывает PHP команды. Может я не прав? В чем проблема?

Очень странно, должно работать, но попробуй так:
if ($today  =< $begin OR $today  >= $end){



_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
Borisych
Цитата (Xpund @ 5.02.2014 - 14:21)
Очень странно, должно работать, но попробуй так:
if ($today  =< $begin OR $today  >= $end){

Нет. Не работает выдаёт ошибку в этой строке. Пробывал менять только параметр "OR" - тоже безрезультатно. Я полагаю что, там что то с куками связано. Надо как то ещё куки привязать сюда, а то игнорируется эта проверка после второго захода или если в кеше осталась страница (а может куки в кеше сидят). Только вот я не знаю вообще какие скрипты с куками работают и как.

Мож кто поможет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.