Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Headers already sent, что тут не так?!!! 
V
    Опции темы
GPolis
Дата 29.1.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.11.2006

Репутация: нет
Всего: нет



Есть код логина. При его работе выдает
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /public_html/components/com_login.php:1) in /public_html/components/com_login.php on line 19

Что здесь может выводиться или отсылаться? На локальной маштне проблем не возникало. Они возникли при установке на сервер.

Код

<?
//подсоединяется к базе данных
mysql_connect('__','_________','_______');
mysql_select_db('_____________');
mysql_error();
//Проверяет ссылающийся URL
if(ereg("\?",$HTTP_REFERER)){
    $symbol = "&";
  } else {
    $symbol = "?";
  };
//проверяет логин и пароль
  $check = mysql_query("select * from `users` where `login`='$login' and `password`='$password'");
  $check = mysql_fetch_array($check);
  mysql_error();
//если логин и пароль совпали
  if(@$check){
    session_name('s');
    session_start();
    session_set_cookie_params(time()+3600*24);
    setcookie(session_name(),session_id(),time()+3600*24);
    $_SESSION['s_login']=$login;
    $_SESSION['s_ID']=$check['ID'];
    $_SESSION['s_name']=$check['name'];
    if(isset($_COOKIE['s'])){
      Header("Location: ".$HTTP_REFERER);
    } else {
      Header("Location: ".$HTTP_REFERER.$symbol."s=".session_id());
    };
//Если не совпали
  } else {
    $msg="Bad login or password";
    Header("Location: ../index.php?msg=".$msg);
    Header("Location: ".$HTTP_REFERER.$symbol."msg=".$msg);
   };
?>

PM MAIL   Вверх
Glip
Дата 29.1.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



 mysql_error(); возможно


--------------------
user posted image
PM MAIL   Вверх
mishaSL
Дата 29.1.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(GPolis @  29.1.2007,  12:56 Найти цитируемый пост)
//проверяет логин и пароль
  $check = mysql_query("select * from `users` where `login`='$login' and `password`='$password'");
  $check = mysql_fetch_array($check);
  mysql_error();
//если логин и пароль совпали
  if(@$check){
    session_name('s');
    session_start();


Очень странная конструкция. Лучше так не делать.

Пример:
Код

//проверяет логин и пароль
  $query = mysql_query("select * from `users` where `login`='".mysql_real_escape_string($login)."' and `password`='".mysql_real_escape_string($password)."' LIMIT 1") or die(mysql_error());
//если логин и пароль совпали
  if(mysql_num_rows($query) > 0){
  session_start();
  $check = mysql_fetch_array($query);
// Дальше определяешь сессии и т.д.






--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
PARROT
Дата 29.1.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата

Замечание: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser. 

GPolis, пользуемся буферизацией, см. поиск по форуму.
http://ua2.php.net/manual/ru/function.session-start.php


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
GPolis
Дата 29.1.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.11.2006

Репутация: нет
Всего: нет



Glip
Убрал - то же самое


mishaSL
Спасибо за совет. Так, действительно, правильней. Однако, проблема с headers так и не решена
PM MAIL   Вверх
AztEK
Дата 29.1.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Проверь, у тебя перед <? не стоит пустая строка?


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
GPolis
Дата 29.1.2007, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.11.2006

Репутация: нет
Всего: нет



PARROT,

имеются в виду ob_start() b ob_end_flush()?

Так ведь согласно этого кода в браузер вообще ничего не выводится. Просто делаются нужные вычисления и происходит редирект на другую страницу

Добавлено @ 13:56 
AztEK
нет, строки такой нет, как и других символов

Это сообщение отредактировал(а) GPolis - 29.1.2007, 13:55
PM MAIL   Вверх
AztEK
Дата 29.1.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Цитата(GPolis @  29.1.2007,  16:55 Найти цитируемый пост)

Так ведь согласно этого кода в браузер вообще ничего не выводится. Просто делаются нужные вычисления и происходит редирект на другую страницу

Где это такое написано? Внимательнее: http://ru.php.net/manual/ru/ref.outcontrol.php


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
GPolis
Дата 29.1.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.11.2006

Репутация: нет
Всего: нет



AztEK
Все, нашел бок!

Страница сохранялась в UTF-8, и редактор дописывал в ее начало дополнительную метку.

После сохранения в ANSI проблема решилась
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.