[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сессии
format89
Здравствуйте коллеги.
вот возник вопрос о сессиях, по учебниках все гуд а вот в реале на денвере не пашет

и так, ближе к заданию. есть 2 страницы
t1.php

код таков

<?PHP

session_start();

$_SESSION['user_id'] = "Hello";

print '<a href="t2.php">Это ссылка на вторую страницу ссесией</a>';
?>


вотрой страници таков

<?PHP

session_start();


echo "$_SESSION['user_id']";

?>


на первой странице ворнинг
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\test1.ru\www\t1.php:1) in Z:\home\test1.ru\www\t1.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\t1.php:1) in Z:\home\test1.ru\www\t1.php on line 3

при переходе на другую страницу переменная пустая...


помогите увидеть где прокол.
arvitaly
Перед <?PHP у вас какие то символы (переносы строки, пробелы) - нужно убрать, заголовки должны идти первыми
format89
убрал все символы пробелы и т.д.
результата нет, все так же как и было


Может что-то не включил в пхп.ини или .хтаксес ?
arvitaly
Код верный, выложите файлы сюда, проблема в них
linker
Если utf-8, то пересохраняем без BOM.

_____________
Gear Framework
Gear Framework на Github
SlavaFr
пхп файлы в utf-8?
если да, то надо BOM удалить

edit: @linker опередил smile.gif

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
format89
файлы тут
Kuliev
format89
Открой файл в FAR менеджере и увидишь что перед <? есть символы! Вот их нужно убрать. Читай про BOM
SlavaFr
ну да, BOM надо удалять.
тебе надо hexeditor чтоб BOM в начале файла удалить

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
linker
SlavaFr
Не пугай так человека, в редакторе поддерживающий utf-8 есть возможность сохранить без BOM.

_____________
Gear Framework
Gear Framework на Github
format89
Спасибо Всем Большое!!!! а посоветуйте пожалуйста хороший пхп редактор, чтобы подобных казусов не повторялось.
SlavaFr
Microsoft Notepad тоже редакор, но он без БОМ не может сохронять wink.gif

Notepad++,Eclipse, Netbeans, Dreamweaver могут это делать точно

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
linker
SlavaFr
Notepad в тупую не понимает utf-8 и это вообще не редактор, а убожество бесполезное.


_____________
Gear Framework
Gear Framework на Github
format89
Сначала заработало, но ненадолго.

<?php
session_start();
include ('mysql.php');

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

// делаем запрос к БД
// и ищем юзера с таким логином и паролем

$query = "SELECT `id`
FROM `base`
WHERE `login`='
{$login}' AND `pass`='{$password}'
LIMIT 1"
;
$sql = mysql_query($query) or die(mysql_error());
// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1)
{
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];
print $_SESSION['user_id'];

print '<meta http-equiv="refresh" content="0; url=user.html">';
//header('Location: user.html');
exit;
// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}



а вот и файл юзер.аштмл

<?php
session_start();
print $_SESSION['user_id'];

if (isset($_SESSION['user_id']))
{
// показываем защищенные от гостей данные.
print '<meta http-equiv="refresh" content="0; url=cp.html"> ';
}
else
{
die('Доступ закрыт, даём ссылку на авторизацию. — <a href="cp.html">Авторизоваться</a>');
}
?>

на первом файле пишет айди пользователя, при переходе во воторй файл
пишет что тако пользователь не найден

использую notepad++ так что спереди кода не накосячил)
Быстрый ответ:

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