Sunday
Cōgitō ergō sum
- Регистрация
- 13 Дек 2009
- Сообщения
- 823
- Реакции
- 342
- Автор темы
- #1
Есть задача несколько раз обновить страницу при условии, что переменная пустая. Обновить допустим 5 раз и проверять не появились ли данные в переменной. Если появятся, перестать обновлять и вывести эти данные. Если не появятся, то вывести заглушку.
Я вот придумал такую конструкцию на сессиях:
Этот велосипед работает только наполовину. Т.е. обновления происходят, пока в переменной $text не появятся данные. Когда появляются, то они выводятся, как положено.
Но в случае если данные так и не появились, заглушка не выводится и страница уходит в бесконечное обновление.
Два вопроса с знатокам:
1. Как сделать код не таким нубским, а более вменяемым и коротким?
2. Почему не выводится заглушка?
Заранее спасибо
Я вот придумал такую конструкцию на сессиях:
PHP:
$text = "здесь данные могут быть, а могут и не быть"
if (empty($text)) {
if(!isset($_SESSION['reload'])) $_SESSION['reload'] = '0';
if($_SESSION['reload'] == '0') {
$_SESSION['reload'] = '1';
header("Location: http://".DOMAIN.$_SERVER['REQUEST_URI']);
}
if($_SESSION['reload'] == '1') {
$_SESSION['reload'] = '2';
header("Location: http://".DOMAIN.$_SERVER['REQUEST_URI']);
}
if($_SESSION['reload'] == '2') {
$_SESSION['reload'] = '3';
header("Location: http://".DOMAIN.$_SERVER['REQUEST_URI']);
}
if($_SESSION['reload'] == '3') {
$_SESSION['reload'] = '4';
header("Location: http://".DOMAIN.$_SERVER['REQUEST_URI']);
}
if($_SESSION['reload'] == '4') {
$_SESSION['reload'] = '5';
header("Location: http://".DOMAIN.$_SERVER['REQUEST_URI']);
}
if($_SESSION['reload'] == '5') {
unset($_SESSION['reload']);
$text = "Заглушка";
}
}
echo $text;
Этот велосипед работает только наполовину. Т.е. обновления происходят, пока в переменной $text не появятся данные. Когда появляются, то они выводятся, как положено.
Но в случае если данные так и не появились, заглушка не выводится и страница уходит в бесконечное обновление.
Два вопроса с знатокам:
1. Как сделать код не таким нубским, а более вменяемым и коротким?
2. Почему не выводится заглушка?
Заранее спасибо