[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа сессии
Гость_Виктор
<?php  
include ("db.php"); /*Соединчемся с базой*/

db_connect();
if (isset($_POST['uid'])) {$uid = $_POST['uid']; }
if (isset($_POST['pwd'])) {$pwd = $_POST['pwd']; }


$res = mysql_query("SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd' and status='active'");
$row = mysql_fetch_array($res);
db_disconnect();

if(mysql_num_rows($res) != 0) {
session_start();
$_SESSION["uid"] = $row["uid"];
$_SESSION["pwd"] = $row["pwd"];

if (isset($_SESSION["uid"]) || isset($uid)){include("index_koment.php"); }
else
{ include("index.php");}
}

?>

Такая ошибка выводится. ОбЪясните кто может и как её избежать. Я хочу вывести одну из страниц по условию см выше.

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at z:\home\localhost\www\may_site\in_koment.php:1) in z:\home\localhost\www\may_site\in_koment.php on line 14



Спустя 1 час, 8 минут, 4 секунды (13.06.2010 - 14:25) Rand написал(а):
session_start() нужно ставить до того момента, как ты начнешь что-то выводить в бразуер.

Спустя 6 часов, 19 минут, 50 секунд (13.06.2010 - 20:45) Гость_Виктор написал(а):
У меня открывается Страница index.php где пользователь может авторизоваться и форма отпавляет в обработчик где передаются две переменные и если они существуют то запускается сессия. А где вывод в броузер я что то непонял?

Спустя 1 час, 33 минуты, 28 секунд (13.06.2010 - 22:19) Rand написал(а):
Не знаю, в приведенном коде вывода нет, но такая ошибка появляется, когда что-то выводится в браузер, перед отправкой заголовка (в данном случае при создании сессии отсылается заголовок для установки куки). http://www.phpfaq.ru/headers

Спустя 7 минут, 12 секунд (13.06.2010 - 22:26) twin написал(а):
Цитата
in_koment.php:1

Вот же адрес вывода.

Спустя 9 часов, 51 минута, 36 секунд (14.06.2010 - 08:17) Rand написал(а):
Да пробел пойди перед <?php стоит, хотя в листинге этого нет, или пустая строка =)

Спустя 2 дня, 1 час, 44 минуты, 13 секунд (16.06.2010 - 10:02) Гость_Виктор написал(а):
Спасибо! С первой ошибкой разобрался. Если вводится логин и пароль имеющийся в базе открывается страница index_koment.php т.е всё работает правильно, но если логина и пароля нет в базе или эти поля пустые то вообще ничего не выводится(пустая страница) , а должен выполнятся оператор - else
{
include("index.php");
}
т.е долна открыться страница index.php. Подскажите в чём проблема?

<?php

include ("db.php");

/*Соединчемся с базой*/
db_connect();

if (isset($_POST['uid']))
{
$uid = $_POST['uid'];
}

if (isset($_POST['pwd']))
{
$pwd = $_POST['pwd'];
}
$res = mysql_query("SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd' and status='active'");
$row = mysql_fetch_array($res);
db_disconnect();

if(mysql_num_rows($res) != 0)
{
session_start();
$_SESSION["uid"] = $row["uid"];
$_SESSION["pwd"] = $row["pwd"];

if (isset($_SESSION["uid"]) || isset($uid))
{
include("index_koment.php");
}
else
{
include("index.php");
}
}
?>

Спустя 11 минут, 35 секунд (16.06.2010 - 10:13) tomash написал(а):
Вы проверяете переменную isset($_SESSION["uid"] хотя на три строки выше ее и определили $_SESSION["uid"] = $row["uid"];! условие isset($_SESSION["uid"] будет всегда true.... а во вторых у вас include("index.php"); выполняеться если mysql_num_rows($res) != 0....

Спустя 1 час, 36 минут, 12 секунд (16.06.2010 - 11:49) Гость_Виктор написал(а):
Спасибо! Я уже решил эту проблему.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.