[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работают сесии
UninstallZX
Всем привет. Изучаю php и сегодня столкнулся с такой проблемой:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\test1.ru\www\views\login.php:1) in Z:\home\test1.ru\www\models\m_users.php on line 2

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

Такое выскакивает, где бы я не попытался открыть сессии. В любом файле и вылазит такая ошибка.В интернете нашел только то, что нужно писать в UTF-8 без BOM. Но с ошибкой все равно не помогает. Если нужно выложу код. Заранее благодарен за помощь.



Спустя 20 минут, 48 секунд (5.06.2011 - 16:02) Guest написал(а):
Код в студию...))

Спустя 3 минуты, 41 секунда (5.06.2011 - 16:06) minok94 написал(а):
Покажи код.

Спустя 6 минут, 41 секунда (5.06.2011 - 16:13) neadekvat написал(а):
И строк пустых нет перед header()?

Спустя 12 минут, 6 секунд (5.06.2011 - 16:25) UninstallZX написал(а):
Пробовал запускать даже в конструкторе db.php все равно та же ошибка
m_users
<?php
require_once "{$_SERVER['DOCUMENT_ROOT']}/config/db.php";

class M_users extends Db {
function get_user($post){
$sql = "SELECT id, password FROM users WHERE name='{$post['name']}'";
$result = $this->sql($sql);
while($row = mysql_fetch_assoc($result)){
$aux_post[] = $row['id'];
}
return $aux_post;
}
}

?>


users
<?php
require_once "{$_SERVER['DOCUMENT_ROOT']}/models/m_users.php";

class Users extends M_users {
var $check = false;
function check_user($post){
$user = $this->get_user($post);
if(!empty($user[0])){
$this->check = true;
}
else{
exit("Такого пользователя нет в базе, или не верен пароль!");
}
return $this->check;
}
}


$users = new Users();
?>


login
<?php
require_once "{$_SERVER['DOCUMENT_ROOT']}/controllers/users.php";
if($_POST){
$users->check_user($_POST);
}
?>
<table>
<
form method="post">
<
tr><td><label><span style="color: red;">*</span>Никнейм: </label></td><td><input type="text" name="name" /><br /></td></tr>
<
tr><td><label><span style="color: red;">*</span>Пароль: </label></td><td><input type="password" name="password" /><br /></td></tr>
<
tr><td><input type="submit" value="Войти!" /><br /></td></tr>
</
form>
</
table>

index
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta
name="title" content="" />
<meta
name="keywords" content="" />
<meta
name="description" content="" />
<link
rel="stylesheet" href="style.css" type="text/css" />
</head>

<body>
<table
align="center" border="1" width="1000">
<tr>
<td
colspan="2">
<p>
Логотип сайта</p>
</td>
</tr>
<tr>
<td
class="left" valign="top">
<ul>
<li>
линк 1</li>
<li>
линк 2</li>
<li>
линк 3</li>

</ul>
</td>
<td
class="center">
<?
require_once "pages.php"; ?>
</td>
</tr>

<tr>
<td
colspan="2" class="copys">
<p
class="copy" align='right'>Copyleft</p>
</td>
</tr>
</table>
</body>

Есть и другие файлы, но я не думаю, что они нужны. login.php подключается в index.php

Спустя 16 минут, 24 секунды (5.06.2011 - 16:41) minok94 написал(а):
А где определение сессии?

Спустя 51 секунда (5.06.2011 - 16:42) UninstallZX написал(а):
сейчас стер. А так везде пробовал.

Спустя 4 минуты, 29 секунд (5.06.2011 - 16:47) minok94 написал(а):
Нафига стер?

Если у тебя все инклудится в index.php тогда в нем определи сессию.
Я всегда определяю так:
header("Content-Type: text/html; charset=utf-8"); 
session_start();

в самом начале index.php

Спустя 4 минуты, 18 секунд (5.06.2011 - 16:51) UninstallZX написал(а):
Сделал. Результат:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\index.php:1) in Z:\home\test1.ru\www\index.php on line 2

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

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

Спустя 2 минуты, 14 секунд (5.06.2011 - 16:53) minok94 написал(а):
А вообще, зачем те сессии? В коде ,который ты показал, они нигде не используются.

Спустя 3 минуты, 25 секунд (5.06.2011 - 16:57) UninstallZX написал(а):
Для авторизации. Конечно не используются - они не работают!

Спустя 3 минуты, 42 секунды (5.06.2011 - 17:00) minok94 написал(а):
Смотри настройки сервера я, например, долго мучился с куками, оказалось что, в настройках сервера они были отключены...

Спустя 18 минут, 55 секунд (5.06.2011 - 17:19) Игорь_Vasinsky написал(а):
Цитата
оказалось что, в настройках сервера они были отключены...

и
Цитата
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\index.php:1) in Z:\home\test1.ru\www\index.php on line 2

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

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


Кодировка ? UTF-8 ? без BOM?
чтоб ни одной пустой строки, чтоб ни какого вывода до них (сессии), если инклудятся файлы - в них может быть трабл.

Спустя 43 минуты, 26 секунд (5.06.2011 - 18:03) UninstallZX написал(а):
Да нету пустых строк( 2 раза проверял.

Спустя 6 минут, 46 секунд (5.06.2011 - 18:09) Игорь_Vasinsky написал(а):
Цитата
Кодировка ? UTF-8 ? без BOM?


в блокноте открой - в первой строке файла - нет непонятных символов?

Спустя 1 минута, 12 секунд (5.06.2011 - 18:11) UninstallZX написал(а):
Нет - все нормально.
Кстати создал 2 файла тестовых. В них сделал сессион_старт(). Все нормально работает. Даже не знаю теперь что делать

Спустя 2 минуты, 7 секунд (5.06.2011 - 18:13) Игорь_Vasinsky написал(а):
выложи здесь этот файл (в полном ответе прикрепи), я гляну.

Спустя 4 минуты, 3 секунды (5.06.2011 - 18:17) UninstallZX написал(а):
Вот архив со всеми файлами.

Спустя 6 минут, 7 секунд (5.06.2011 - 18:23) Игорь_Vasinsky написал(а):
Да, ты сохранил with BOM. скачай редактор phpDesigner7 - и пользуйся.
index перезалей, с остальными сам, они у тя все такие wink.gif

Спустя 4 минуты, 56 секунд (5.06.2011 - 18:28) UninstallZX написал(а):
Спасибо огромное, очень выручили.

Спустя 2 минуты, 20 секунд (5.06.2011 - 18:30) Игорь_Vasinsky написал(а):
на irbis-team.ru - есть утилита - она удаляет BOM, там ещё много всего вкусного. wink.gif

Спустя 1 минута, 29 секунд (5.06.2011 - 18:32) minok94 написал(а):
Кроме phpDesigner7, я лично юзаю Notepad++, тоже хороший редактор.

Спустя 2 минуты, 54 секунды (5.06.2011 - 18:34) Игорь_Vasinsky написал(а):
minok94
не юзал - не знаю.

Спустя 2 минуты, 2 секунды (5.06.2011 - 18:36) UninstallZX написал(а):
А все нашел. Спасибо большое. Только, когда пересохранил, кракозябры появились)) Как убрать лучше?)

Спустя 1 час, 44 минуты, 32 секунды (5.06.2011 - 20:21) Игорь_Vasinsky написал(а):
Что нашёл то?

Спустя 10 часов, 39 минут, 1 секунда (6.06.2011 - 07:00) minok94 написал(а):
Игорь_Vasinsky
Попробуй класный редактор))

Спустя 36 минут, 39 секунд (6.06.2011 - 07:37) Игорь_Vasinsky написал(а):
даже не собираюсь, меня свой более чем устраивает biggrin.gif
Быстрый ответ:

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