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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: редирект (header)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
n3r0bi0m4n
Отправлено: 19 Февраля, 2013 - 02:43:32
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Добра всем. Изучаю понемножку 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();

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

спасибо заранее.
прошу прощения если обсуждалось уже, не нашел..
 
 Top
OrmaJever Модератор
Отправлено: 19 Февраля, 2013 - 02:50:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




n3r0bi0m4n пишет:
всё вроде нормально.

нет, не всё. Перед открывающимся тегом php не должно быть ничего, даже пробела или переноса строки.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
n3r0bi0m4n
Отправлено: 19 Февраля, 2013 - 03:00:17
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




как тогда адекватно проверить логин/пароль и перенаправить на нужную страницу?
 
 Top
LShark
Отправлено: 19 Февраля, 2013 - 06:57:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




А тебе именно хедером надо? Или пойдет такой способ:
PHP:
скопировать код в буфер обмена
  1. echo "<meta http-equiv='Refresh' content='0; URL=index.php'><script language=\"javascript\" type=\"text/javascript\">document.location='index.php';</script>";
  2.  

Смесь джаваскрипта и прямого перехода (в смысле - если джаваскрипт выключен, то будет использоваться рефреш). Работает на ура и в гробу видала выводы на страницу.

(Отредактировано автором: 19 Февраля, 2013 - 06:58:30)



-----
Истина прежде всего в том, что...
 
 Top
DelphinPRO
Отправлено: 19 Февраля, 2013 - 07:28:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




n3r0bi0m4n пишет:
прошу прощения если обсуждалось уже, не нашел..

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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB