Подскажите как можно сделать передаресацию пользователя после выполнения какого-нибудь действия? Ну допустим после авторизации нужно перекинуть пользователя на определённую страницу, или после неудачной попытки авторизации нужно вернуть пользователя на страницу авторизации.
сейчас использую
echo '<meta http-equiv="refresh" content="5; url=/">'
Но, хочется чтобы в коде вообще не осталось никаких echo или print или что-то в этом роде.
Header('Location:/') не предлагать, сами наверное догадались почему использую именно
<meta http-equiv="refresh" content="5; url=/">
потому-что перед тем как пнуть юзверя на другую страницу, нужно сначала ему сказать что-то типа "Авторизация прошла успешно", или "Авторизация провалилась".
Как вариант можно было бы попробовать сначала сделать
header('Refresh: 10;URL='http://site/');
и после него добавить вывод, но как-то это не очень. Есть более изящные способы?
Может кто подскажет как юзать ob_start, а то я что-то не въеду никак
Спустя 6 минут, 7 секунд (27.02.2012 - 09:25) Guest написал(а):
<meta http-equiv="refresh" content="5; url=/">
Самое оптимальное в данном случае решение.
Спустя 9 минут, 41 секунда (27.02.2012 - 09:34) Ramzil_Nixon написал(а):
А чем тебе
Не угодило?
<?php
header('Refresh: 3; Url='.$url);
?>
Не угодило?
Спустя 28 минут, 13 секунд (27.02.2012 - 10:03) killer8080 написал(а):
Цитата (McLotos @ 27.02.2012 - 08:19) |
Как вариант можно было бы попробовать сначала сделать header('Refresh: 10;URL='http://site/'); и после него добавить вывод, но как-то это не очень. |
Интересно почему?

Спустя 6 минут, 8 секунд (27.02.2012 - 10:09) McLotos написал(а):
Ну не знаю. Просто, думал, может есть какой-нибудь другой способ.
Спустя 9 минут, 54 секунды (27.02.2012 - 10:19) killer8080 написал(а):
Цитата (McLotos @ 27.02.2012 - 09:09) |
Просто, думал, может есть какой-нибудь другой способ. |
А зачем? Формировать http заголовок, это и есть самый правильный способ. Тег meta по сути эмулирует заголовок, его есть смысл использовать, когда нет возможности повлиять на заголовки напрямую, например в статичном хтмл-е.
Спустя 1 минута, 20 секунд (27.02.2012 - 10:20) Ramzil_Nixon написал(а):
Цитата (McLotos @ 27.02.2012 - 07:09) |
Ну не знаю. Просто, думал, может есть какой-нибудь другой способ. |
Самый легкий способ в header(); И не надо больше ничего искать

Спустя 18 минут, 37 секунд (27.02.2012 - 10:39) McLotos написал(а):
А ещё такой вопрос,killer8080, как всё-таки правильнее оформлять sql запросы?
или
есть ли какая-нибудь разница в скорости и безопасности?
mysql_query("SELECT *
FROM ".$db_visits."
WHERE `uid`='".$_SESSION['uid']."'")
или
mysql_query("SELECT *
FROM $db_visits
WHERE `uid`='$_SESSION[uid]'")
есть ли какая-нибудь разница в скорости и безопасности?
Спустя 7 минут, 40 секунд (27.02.2012 - 10:46) killer8080 написал(а):
McLotos
В первом варианте читабельность кода лучше, и в IDE типа phphDesigner будет корректно работать эксплорер кода. На безопасность и скорость это не влияет, но все же первый вариант лучше.
В первом варианте читабельность кода лучше, и в IDE типа phphDesigner будет корректно работать эксплорер кода. На безопасность и скорость это не влияет, но все же первый вариант лучше.
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки