|
|
|
| всем привет !
теряется сессия при обновлении страницы. при том что в session_save_path присутсвует хеш сессии .
куда копать ? | |
|
|
|
|
|
|
|
для: dima2207
(10.04.2010 в 13:53)
| | Для начала можно показать свой код :) | |
|
|
|
|
|
|
|
для: Diplex
(10.04.2010 в 14:53)
| | какой код ? сохраняется сессия , <?print_r($_SESSION)?> показывает нормально массив сессии , при обновлении страницы сессия теряется . и в куки PHPSESID - нема . | |
|
|
|
|
|
|
|
для: dima2207
(10.04.2010 в 15:00)
| | Вот и покажите, как вы это делаете. | |
|
|
|
|
|
|
|
для: neadekvat
(10.04.2010 в 16:08)
| | session_start() не забыли поставить? | |
|
|
|
|
|
|
|
для: serenya1983
(10.04.2010 в 16:35)
| | разумеется не забыл , иначе сессия вообще бы не записалась , но она почему пропадает при обновлении стр.
вот данные :
[root@localhost etc]# php -v
PHP 5.2.13 (cli) (built: Mar 2 2010 15:56:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
[root@localhost etc]# httpd -v
Server version: Apache/2.2.14 (Unix)
Server built: Oct 14 2009 13:19:18
|
ставил из yum репозиториев и никаких изменений в конфиги не делал кроме виртуал хост в httpd.conf.
не понятно почему PHPSESSID не пишится в куки ?
пробовал поставить session.use_trans_sid 1
поидеи должно дописывать ид сессии в урл , а нифига не дописывает . че за бред ? | |
|
|
|
|
автор: ** (10.04.2010 в 21:18) |
|
|
для: dima2207
(10.04.2010 в 17:49)
| | Интересная канитель :)
в адресах sid бывает только появляется если на странице есть html-ссылки.
а так, по умолчанию session.cookie.lifetime 0
(php --ri session)
значит вряд.ли браузер их не ставит из.за времени.
я.бы curl.ом глянул чего шлётся в заголовках .
если конечно session_unset или что.то такое в коде не делает это. | |
|
|
|
|
|
|
|
для: **
(10.04.2010 в 21:18)
| | унсет сессии у меня делается лиш в случае если в строке logout.html
вот листинг php --ri session :
[root@localhost etc]# php --ri session
session
Session Support => enabled
Registered save handlers => files user
Registered serializer handlers => php php_binary wddx
Directive => Local Value => Master Value
session.bug_compat_42 => Off => Off
session.bug_compat_warn => On => On
session.save_path => /var/lib/php/session => /var/lib/php/session
session.name => PHPSESSID => PHPSESSID
session.save_handler => files => files
session.auto_start => Off => Off
session.gc_probability => 1 => 1
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.serialize_handler => php => php
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_domain => no value => no value
session.cookie_secure => Off => Off
session.cookie_httponly => Off => Off
session.use_cookies => On => On
session.use_only_cookies => On => On
session.referer_check => no value => no value
session.entropy_file => no value => no value
session.entropy_length => 0 => 0
session.cache_limiter => nocache => nocache
session.cache_expire => 180 => 180
session.use_trans_sid => 0 => 0
session.hash_function => 0 => 0
session.hash_bits_per_character => 5 => 5
[root@localhost etc]#
|
в заголовках я так подозреваю что куки вообще не приходят .потому что когда я ставлю время жизни куки к примеру 1800 то тоже не работает .
что особенно удивительно так это то что скрипт я перенес с рабочего сервера и он там отлично работал , поставил на чистую ось пхп , апач , и в итоге такая фигня,
я даже скопировал с рабочего сервера пхп.ини и хттпд.конф | |
|
|
|
|
|
|
|
для: dima2207
(11.04.2010 в 00:04)
| | это ваш первый опыт работы с сессией? | |
|
|
|
|
|
|
|
для: Рома
(11.04.2010 в 00:21)
| | Роман, к чему вопрос ? | |
|
|
|
|
автор: ** (11.04.2010 в 11:29) |
|
|
для: dima2207
(11.04.2010 в 00:52)
| | Странно, по умолчанию вроде должно быть так-же
use_cookies => On => On
use_only_cookies => On => On
а у меня почему-то сразу после сборки показало use_only_cookies => Off
Пока не устанавливал у себя, неи понравилось как собралось 5,2, жаловалось на отсутствие всяких bison, lemon ...
тоже cli, а как собрать модулем пока не понял.
Но проверили-бы какие заголовки-то приходят при запросе страницы, скриптом типа
<?php
header('content-type:text/plain');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 0,
CURLOPT_HEADER => 1,
CURLOPT_NOBODY => 0,
CURLOPT_TIMEOUT => 15,
CURLOPT_URL => 'http://адрес/скрипта'
));
curl_exec($ch);
?>
| есть-ли там PHPSESSID | |
|
|
|
|
|
|
|
для: dima2207
(10.04.2010 в 13:53)
| | такая же проблема как у автора. файл сессии есть, но при переходе на другую страницу сессия теряеться.
неужели никто не нашел решения этой проблемы? | |
|
|
|
|
|
|
|
для: devoto
(05.06.2010 в 16:53)
| | Начало своих страниц покажите. | |
|
|
|
|
|
|
|
для: sim5
(05.06.2010 в 16:57)
| | Взял примеры с первого сайта по PHP
page1.php
<html>
<body>
<h1> Страница регистрации </h1>
<input type=hidden name=action value=post>
<form method="post" action="page2.php">
<table>
<tr><td>Имя:</td>
<td><input type="text" name=name value='<? echo $name; ?>'></td></tr>
<tr><td colspan=2><input type=submit value='Enter'>
</td></tr>
</table>
</form>
</body>
</html>
|
page2.php
<?php
session_start();
$_SESSION['username'] = $_POST['name'];
echo 'Привет, '.$_SESSION['username']."<br>";
?>
<a href="page2.php">На следующую страницу </a>
|
page3.php
<?php
session_start();
echo $_SESSION['username'].' , ты пришел на другую страницу этого сайта!';
echo("<br>");
?>
|
здесь выдает ошибку Undefined variable: username in localhost/page3.php on line 3
PS и пожалуйста не нужно выискивать ошибки в написани кода (из серии писать session_start() до любого вывода и тд). Это мы уже проходили. | |
|
|
|
|
|
|
|
для: devoto
(05.06.2010 в 17:55)
| | У вас ссылка во втором файле на саму себя, а так....
И что у вас в качестве локального сервера? | |
|
|
|
|
|
|
|
для: sim5
(05.06.2010 в 18:10)
| | опечатка=)
apache 2.2.14 | |
|
|
|
|
|
|
|
для: devoto
(05.06.2010 в 18:43)
| | Апач, это еще не весь сервер, я спрашивал о сборке. Например, Денвер, выполняет все без проблем, а его сессионные установки по умолчанию:
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx
session.auto_start Off
session.bug_compat_42 On
session.bug_compat_warn On
session.cache_expire 180
session.cache_limiter nocache
session.cookie_domain no value
session.cookie_httponly Off
session.cookie_lifetime 0
session.cookie_path /
session.cookie_secure Off
session.entropy_file no value
session.entropy_length 0
session.gc_divisor 100
session.gc_maxlifetime 1440
session.gc_probability 1
session.hash_bits_per_character 4
session.hash_function 0
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.save_path /tmp
session.serialize_handler php
session.use_cookies On
session.use_only_cookies Off
session.use_trans_sid 0
Вы сами файлы сессий наблюдаете? | |
|
|
|
|
|
|
|
для: sim5
(05.06.2010 в 18:46)
| | Apache+PHP+MySQL собраный вручную.
спс) после переустановки PHP сесии заработали. судя по всему я во время установки неправильно сконфигурировал php.ini и из-за этого возникли неполадки) | |
|
|
|
|
|
|
|
для: devoto
(05.06.2010 в 19:08)
| | Надо было сразу посмотреть наличие файла сессии, ибо
$_SESSION['username'] = $_POST['name'];
echo $_SESSION['username'];
совсем не означает, что сессия работает, просто выводится значение объявленной переменной $_SESSION['username'], и не важно при этом, запущен механизм сессии или нет. | |
|
|
|