Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: редирект (header)
Форумы портала PHP.SU » » Вопросы новичков » редирект (header)

Страниц (1): [1]
 

1. n3r0bi0m4n - 19 Февраля, 2013 - 02:43:32 - перейти к сообщению
Добра всем. Изучаю понемножку php. Пробую сессии. Допустим есть пара страниц: login.php и page.php
Нужно: если логин и пароль верные в login.php, то
PHP:
скопировать код в буфер обмена
  1. {
  2. $_SESSION['logged'] = true;
  3. header("Location: page.php");
  4. }
  5.  

Получаю ошибку в ответ: Cannot add header information - headers already sent

в page.php в самом начале
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($_SESSION['logged'] == false)
  3. header("Location: login.php");
  4.  

всё вроде нормально.

Логично, header-ы должны быть в самом начале. Как тогда перенаправить на page.php без костылей всяких?

Да и вот еще.. Если проверку на логин запихать в функцию в другом файле (functions.php)

и вызывать её
PHP:
скопировать код в буфер обмена
  1. require_once 'functions.php';
  2. islogged();

получаю ту-же ошибку.

спасибо заранее.
прошу прощения если обсуждалось уже, не нашел..
2. OrmaJever - 19 Февраля, 2013 - 02:50:01 - перейти к сообщению
n3r0bi0m4n пишет:
всё вроде нормально.

нет, не всё. Перед открывающимся тегом php не должно быть ничего, даже пробела или переноса строки.
3. n3r0bi0m4n - 19 Февраля, 2013 - 03:00:17 - перейти к сообщению
как тогда адекватно проверить логин/пароль и перенаправить на нужную страницу?
4. LShark - 19 Февраля, 2013 - 06:57:45 - перейти к сообщению
А тебе именно хедером надо? Или пойдет такой способ:
PHP:
скопировать код в буфер обмена
  1. echo "<meta http-equiv='Refresh' content='0; URL=index.php'><script language=\"javascript\" type=\"text/javascript\">document.location='index.php';</script>";
  2.  

Смесь джаваскрипта и прямого перехода (в смысле - если джаваскрипт выключен, то будет использоваться рефреш). Работает на ура и в гробу видала выводы на страницу.
5. DelphinPRO - 19 Февраля, 2013 - 07:28:17 - перейти к сообщению
n3r0bi0m4n пишет:
прошу прощения если обсуждалось уже, не нашел..

да ты и не искал http://tiny[dot]cc/7rmqsw

 

Powered by ExBB FM 1.0 RC1