[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка с сессиями
Sexy Devil
Выскакивают странные ошибки, что это может быть, вот сами ошибки:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\torg\www\reg.php:11) in Z:\home\torg\www\reg.php on line 31

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\torg\www\reg.php:11) in Z:\home\torg\www\reg.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\torg\www\reg.php:11) in Z:\home\torg\www\reg.php on line 35


Код reg.php



<?php
include './include/config.php';

$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);
mysql_query('SET NAMES cp1251');
?>


<?php


if (isset($_POST['login']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = mysql_real_escape_string($_POST['password']);

$result = "SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'";
$res = mysql_query($result) or die(mysql_error());

if ($row = mysql_fetch_assoc($res))
{
session_start();
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else
{

?>

<form method="POST">
<
input type="text" name="login"><br>
<
input type="password" name="password"><br>
<
input type="submit" value = " Vhod "><br>
</
form>

<?php

}

exit;

?>









Спустя 2 минуты, 5 секунд (13.01.2011 - 16:56) linker написал(а):
session_start(); перенести в самое начало скрипта после <?php. После этого, удалить все что находится перед <?php и в конце-концов, если используется кодировка UTF-8, сохранить скрипт как UTF-8 without BOM.

Спустя 1 час, 43 минуты, 17 секунд (13.01.2011 - 18:39) Sexy Devil написал(а):
не получается, кодировка используется - windows-1251

Спустя 52 секунды (13.01.2011 - 18:40) inpost написал(а):
Sexy Devil
Перенеси в самое начало и покажи код сюда.

Спустя 4 минуты, 32 секунды (13.01.2011 - 18:45) Sexy Devil написал(а):

<?php
session_start();

include './include/config.php';

$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);
mysql_query('SET NAMES cp1251');


if (isset($_POST['login']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = mysql_real_escape_string($_POST['password']);

$result = "SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'";
$res = mysql_query($result) or die(mysql_error());

if ($row = mysql_fetch_assoc($res))
{
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else
{

?>

<form method="POST">
<
input type="text" name="login"><br>
<
input type="password" name="password"><br>
<
input type="submit" value = " Vhod "><br>
</
form>

<?php

}

exit;

?>

Спустя 1 час, 35 минут, 28 секунд (13.01.2011 - 20:20) linker написал(а):
Лишний session_start(); так и остался.

Спустя 18 часов, 10 минут, 48 секунд (14.01.2011 - 14:31) Sexy Devil написал(а):
не знаю что такое
ошибка

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\torg\www\reg.php:1) in Z:\home\torg\www\reg.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\torg\www\reg.php:1) in Z:\home\torg\www\reg.php on line 2


код

<?php
session_start();
include './include/config.php';

$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);
mysql_query('SET NAMES cp1251');


if (isset($_POST['login']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = mysql_real_escape_string($_POST['password']);

$result = "SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'";
$res = mysql_query($result) or die(mysql_error());

if ($row = mysql_fetch_assoc($res))
{
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()]))
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else
{
?>

<form method="POST">
<
input type="text" name="login"><br>
<
input type="password" name="password"><br>
<
input type="submit" value = " Vhod "><br>
</
form>

<?php
}
exit;
?>

Спустя 1 минута, 53 секунды (14.01.2011 - 14:33) linker написал(а):
Перед <?php нет ничего лишнего?

Спустя 4 минуты, 27 секунд (14.01.2011 - 14:37) Sexy Devil написал(а):
нет

Спустя 13 минут, 23 секунды (14.01.2011 - 14:51) linker написал(а):
Видимо таки что-то есть, либо лишняя строка, либо пробел и напоследок BOM.

Спустя 3 минуты, 36 секунд (14.01.2011 - 14:54) Sexy Devil написал(а):
что за BOM?

Спустя 4 минуты, 58 секунд (14.01.2011 - 14:59) Gradus написал(а):
Sexy Devil это он про кодировку отдай заголовок с указом кодировки и сохрани файл в той же кодировке
Цитата
Перед <?php нет ничего лишнего?
Цитата
нет

пробелы и переносы строк тоже учитываються

Спустя 4 минуты, 42 секунды (14.01.2011 - 15:04) Sexy Devil написал(а):
Цитата
пробелы и переносы строк тоже учитываються

в курсе

Спустя 23 часа, 48 минут, 16 секунд (15.01.2011 - 14:52) alex12060 написал(а):
Я уверен на 100% что ты этот файл инклудишь куда-то)
Поэтому ошибка и выскакивает)

Спустя 10 минут, 5 секунд (15.01.2011 - 15:02) Игорь_Vasinsky написал(а):
1. попробуй вообще не стартовать сессию
2.
include './include/config.php'; 


а здесь случаем ни чего с хеадерами нету???

Цитата
что за BOM?


посмотри с какой кодировкой сама страница.
Быстрый ответ:

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