[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Умирает сессия
live Uucyc
Перестала работать каптча. Ответ заносится в сессию, сразу проверяю сессию, все нормально, но стоит нажать кнопку, сессия пропадает и поэтому невозможно зарегиться. Раньше все работало. Код каптчи не менял.
В чем может быть причина?



Спустя 10 минут, 33 секунды (25.06.2009 - 17:08) twin написал(а):
Куча причин. Начиная от браузера, заканчивая настройками сервера. Вот
Цитата
Раньше все работало.
а теперь само исапортилось, так редко бывает. Может было все таки какое то телодвижение?

Спустя 23 минуты, 13 секунд (25.06.2009 - 17:31) live Uucyc написал(а):
twin, понимаю, глупо звучит, но на самом деле так и было cool.gif
пробовал разными браузерами, и денвером и вампам, результат один. Может и настройки полетели, но какие именно, я не имею понятия. Подскажите..

Спустя 1 минута, 32 секунды (25.06.2009 - 17:33) twin написал(а):
Ну а как подсказать то? Кдика бы кусочек...

Спустя 25 секунд (25.06.2009 - 17:33) waldicom написал(а):
Версия php не менялось?

Спустя 5 минут, 51 секунда (25.06.2009 - 17:39) live Uucyc написал(а):
waldicom, на момент появления проблемы, нет.

Спустя 5 минут, 30 секунд (25.06.2009 - 17:44) live Uucyc написал(а):
защита вопросом. Считываем случайный вопрос (подсмотрел у вас на форуме)
код:
PHP
$resultdb mysql_query("SELECT COUNT(*) AS number FROM captcha");
    
$result mysql_fetch_array($resultdb);
    
$rand_row rand(0,$result['number']-1);
    
$resultdb mysql_query("SELECT * FROM captcha LIMIT $rand_row, 1");
    
$result mysql_fetch_array($resultdb);
    
session_start();
    
$_SESSION['answer'] = $result['answer'];

код формы регистрации писать не буду, а ниже кусочек кода обработчика регистрации, который проверяет ответ:
PHP
if (!empty($_POST['answer']))
        {
            
$answer ucfirst(trim($_POST['answer']));
            if (
$answer != $_SESSION['answer']) $answer_echo "Ответ неверен";
        }
        else 
$answer_echo "Введите ответ на вопрос!!!";

Спустя 57 секунд (25.06.2009 - 17:45) live Uucyc написал(а):
если будет необходимость, выложу весь код обработчика

Спустя 15 минут, 23 секунды (25.06.2009 - 18:01) twin написал(а):
Каким образом ты понял, что сессии нет? Посмотри что в ней. Напиши
PHP
print_r($_SESSION);

Если пусто, то да. А может просто не совподют значения?

Спустя 1 час, 33 минуты, 21 секунда (25.06.2009 - 19:34) live Uucyc написал(а):
twin, писал, проверял, ничего нет

Спустя 9 минут, 32 секунды (25.06.2009 - 19:44) twin написал(а):
Ну тогда просто сделай два файла и напиши

PHP
session_start();
$_SESSION['test'] = 'test';
header('location: второй_файл.php');


PHP
session_start();
print_r($_SESSION);


Спустя 3 минуты, 52 секунды (25.06.2009 - 19:47) live Uucyc написал(а):
делал только что, сессии не идут. Видимо дело в настройках. Но в каких??

Спустя 8 минут, 45 секунд (25.06.2009 - 19:56) twin написал(а):
А как php стоит, как модуль апача?

Спустя 6 минут, 2 секунды (25.06.2009 - 20:02) live Uucyc написал(а):
пользуюсь wampserver, но винда 7. может из-за нее??

Спустя 1 минута, 21 секунда (25.06.2009 - 20:04) jetistyum написал(а):
такое впечатление что это какой-то конкурс: "угадай почему у меня не работает код" smile.gif
если проблема с сессиями - посмотри какие настройки php отвечают за работу с сессиями, доступна ли для записи папка, в которй пхп хранит сессию.

Спустя 4 минуты, 58 секунд (25.06.2009 - 20:09) live Uucyc написал(а):
jetistyum, cool.gif пока приходится так, вот когда появится (если еще появится) надпись - Группа: Эксперт, все будет по другому, обещаю.
А пока попробую перегрузить винду и там посмотрим.

Спустя 2 месяца, 15 дней, 4 часа, 10 минут, 24 секунды (11.09.2009 - 00:19) live Uucyc написал(а):
не сервере не работают сессии или я туплю?
я создал для проверки 2 простых файлика
1-ый
PHP
    session_start();
    $_SESSION['answer'] = 'yes';
    echo '<a href="2.php">next<a>';


2-ой
PHP
    session_start();
    echo $_SESSION['answer'];


у себя но комп. все работает, а на сервере нет.

Спустя 17 минут, 34 секунды (11.09.2009 - 00:36) twin написал(а):
PHP
session_start();
    $_SESSION['answer'] = 'yes';
    echo '<a href="2.php?'.SID.'">next<a>';

Так попробуй.

Спустя 9 часов, 6 минут, 21 секунда (11.09.2009 - 09:43) live Uucyc написал(а):
twin, так работает.
получается, что сессии передаются только get??

Спустя 8 минут, 58 секунд (11.09.2009 - 09:52) twin написал(а):
получается

Спустя 1 минута, 37 секунд (11.09.2009 - 09:53) live Uucyc написал(а):
twin, а как тогда настроить php.ini на сервере?

Спустя 3 минуты, 42 секунды (11.09.2009 - 09:57) live Uucyc написал(а):
PHP
ini_set('session.use_cookies''1')

это поможет??

Спустя 8 минут, 54 секунды (11.09.2009 - 10:06) live Uucyc написал(а):
но phpinfo показывает, что session.use_cookie включен, ничего не понимаю

Спустя 27 минут, 33 секунды (11.09.2009 - 10:34) Nikitian написал(а):
Может у вас куки отключены в браузере или файервол их режет?

Спустя 6 минут, 24 секунды (11.09.2009 - 10:40) live Uucyc написал(а):
нет, с этим все нормально

Спустя 20 минут, 18 секунд (11.09.2009 - 11:00) twin написал(а):
Go suppurt, чего стесняешься то?

Спустя 5 минут, 54 секунды (11.09.2009 - 11:06) live Uucyc написал(а):
придется

Спустя 4 часа, 28 минут, 22 секунды (11.09.2009 - 15:35) live Uucyc написал(а):
Цитата (live Uucyc @ 10.09.2009 - 21:19)
не сервере не работают сессии или я туплю?
я создал для проверки 2 простых файлика
1-ый
PHP
    session_start();
    $_SESSION['answer'] = 'yes';
    echo '<a href="2.php">next<a>';


2-ой
PHP
    session_start();
    echo $_SESSION['answer'];


у себя но комп. все работает, а на сервере нет.

при правильной настройке сервера передачи сессии будет передаваться из файла 1 в файл 2?

Спустя 36 минут, 30 секунд (11.09.2009 - 16:11) live Uucyc написал(а):
решил проверить session_id, на сервере меняется, а на локалке нет

Спустя 1 час, 54 минуты, 38 секунд (11.09.2009 - 18:06) kirik написал(а):
live Uucyc
какой адрес сайта на котором сессия не принимается?

Спустя 12 минут, 36 секунд (11.09.2009 - 18:18) live Uucyc написал(а):
kirik, этих 2 файла проверка я залил на jckobrin.org/1.php

Спустя 19 минут, 11 секунд (11.09.2009 - 18:37) kirik написал(а):
Заголовки такие отправляются:
Код
Array
(
   [0] => HTTP/1.1 200 OK
   [1] => Date: Fri, 11 Sep 2009 15:34:38 GMT
   [2] => Server: Apache
   [3] => X-Powered-By: PHP/5.2.9
   [4] => Vary: Accept-Encoding,User-Agent
   [5] => Content-Length: 162
   [6] => Connection: close
   [7] => Content-Type: text/html; charset=utf-8
)

как видно запрос на установку кук не отправляется, должно быть что-то типа:
Код
Set-Cookie: PHPSESSID=fe963072522091ac84db7cfcb80773f4; path=/; domain=jckobrin.org


посмотри что выводит
PHP
echo ini_get('session.cookie_domain');

Спустя 6 минут, 22 секунды (11.09.2009 - 18:44) live Uucyc написал(а):
ничего не выводит

п.с. а как получать такие заголовки?

Спустя 4 минуты, 54 секунды (11.09.2009 - 18:49) kirik написал(а):
Цитата (live Uucyc @ 11.09.2009 - 10:44)
а как получать такие заголовки?

PHP
print_r(get_headers('http://jckobrin.org/1.php'));


Цитата (live Uucyc @ 11.09.2009 - 10:44)
ничего не выводит

значит попробуй сделать так (в самом начале скрипта):
PHP
ini_set('session.auto_start'true);
ini_set('session.use_cookies'true);
ini_set('session.use_only_cookies'true);
ini_set('session.use_trans_sid'false);
ini_set('session.cookie_domain''jckobrin.org');
ini_set('session.gc_probability'1);
ini_set('session.gc_divisor'100);
ini_set('session.save_handler''user');
ini_set('arg_separator.output''&');

можешь некоторые значения поменять как нужно.

Спустя 3 минуты, 36 секунд (11.09.2009 - 18:52) live Uucyc написал(а):
ставить до старта сессии?

Спустя 4 минуты, 50 секунд (11.09.2009 - 18:57) live Uucyc написал(а):
стало выводить session.cookie_domain jckobrin.org, как и указали, но передача так и не идет

Спустя 13 минут, 25 секунд (11.09.2009 - 19:11) live Uucyc написал(а):
А может быть в этом проблема?? phpinfo показывает, что session.save_path в столбце Master Value стоит /nodir. В Local Value путь указан

Спустя 41 минута, 10 секунд (11.09.2009 - 19:52) kirik написал(а):
Цитата (live Uucyc @ 11.09.2009 - 11:11)
А может быть в этом проблема?? phpinfo показывает, что session.save_path в столбце Master Value стоит /nodir. В Local Value путь указан

угу) ппц, отрывай хостерам руки.

Спустя 3 часа, 47 минут, 28 секунд (11.09.2009 - 23:39) live Uucyc написал(а):
kirik, я еще до обнаружения этой записи разговаривал с ними, так они отправили меня на мануал по пхп...
придется опять с ними пообщаться
спасибо

Спустя 6 минут, 16 секунд (11.09.2009 - 23:45) kirik написал(а):
live Uucyc
попробуй для теста выставить session_save_path(); на какую-нибудь свою директорию (права на папку 777 поставь пока).

Спустя 10 часов, 6 минут, 36 секунд (12.09.2009 - 09:52) live Uucyc написал(а):
они мне ответили session.save_path и не должен быть указан в master value, он указан для каждого аккаунта свой

Цитата
попробуй для теста выставить session_save_path();

указывал, может только не правильно указал, ничего не помогло

я уже не знаю, что делать

Спустя 8 часов, 33 минуты, 34 секунды (12.09.2009 - 18:26) kirik написал(а):
live Uucyc
покажи phpinfo

Спустя 7 часов, 27 минут, 18 секунд (13.09.2009 - 01:53) live Uucyc написал(а):
kirik, 4.php

Спустя 32 минуты, 12 секунд (13.09.2009 - 02:25) kirik написал(а):
live Uucyc
гм.. Все ок.
А запусти вот такой код:
PHP
error_reporting(E_ALL E_STRICT);
session_start();
echo 
$_SESSION['counter'] = isset($_SESSION['counter']) ? $_SESSION['counter'] + 1;

и пообновляй страничку.

Спустя 10 часов, 30 минут, 17 секунд (13.09.2009 - 12:55) live Uucyc написал(а):
kirik, закинул 1.php, ничего, все также глухо

Спустя 48 минут, 47 секунд (13.09.2009 - 13:44) Гость_hara написал(а):
хоть вроде тут и нормально всё, но попробуй отключить open_basedir и проверить

Спустя 19 часов, 52 минуты, 27 секунд (14.09.2009 - 09:37) live Uucyc написал(а):
это
PHP
ini_set('open_basedir ''off');
??

Спустя 6 часов, 53 минуты, 42 секунды (14.09.2009 - 16:30) Гость_hara написал(а):
извините меня, - можно отключить только в php.ini или httpd.conf
то есть вы как я понимаю не можете.

в любом случае нужно пинать хостера.
если конечно в htaccess нет чего нибудь оригинального

Спустя 7 минут, 24 секунды (14.09.2009 - 16:38) live Uucyc написал(а):
в том-то и дело, что хостеры утверждают, что все ок..
в htsccess нет ничего оригинального, я пробовыл без него...результат тотже

Спустя 1 час, 32 минуты, 46 секунд (14.09.2009 - 18:11) kirik написал(а):
live Uucyc
а проверь, куки нормально ставятся?

Спустя 5 минут, 1 секунда (14.09.2009 - 18:16) live Uucyc написал(а):
kirik, сейчас напишу, залью и посмотрим

Спустя 6 минут, 42 секунды (14.09.2009 - 18:22) live Uucyc написал(а):
закинул простой файлик 5.php
PHP
<?php
    setcookie
('proba','yes');
    echo 
'Куки - '.$_COOKIE['proba'];


опять ничего...совсем не хотят куки работать

Спустя 25 минут, 32 секунды (14.09.2009 - 18:48) hara_ написал(а):
ну пробуем всё подряд:
после записи переменной поставь
session_write_close();

UPD

и кстати что нибудь делали с сервером? версию php обновили или ещё что то?

Спустя 4 минуты, 9 секунд (14.09.2009 - 18:52) live Uucyc написал(а):
никакого результатат
а вообще, кто-нибудь сталкивался с такой проблемой???

Спустя 1 минута, 26 секунд (14.09.2009 - 18:53) live Uucyc написал(а):
не знаю...я только недавно перешел на него...мой товарищ также на этом сервере...но его сейчас нет, хочу у него попробовать залить и проверить

Спустя 1 месяц, 18 часов, 56 минут, 58 секунд (15.10.2009 - 13:50) live Uucyc написал(а):
вы не поверите...но эта проблема до сих пор не решена... huh.gif
но чувствую, что скоро решу...или хостеров заставлю напрячся или поменяю их

Спустя 19 минут, 48 секунд (15.10.2009 - 14:10) Gabriel написал(а):
live Uucyc
яб уже давно поменял

Спустя 11 минут, 22 секунды (15.10.2009 - 14:21) live Uucyc написал(а):
Gabriel, просто проплачено на год...скоро уже закончится срок...если найдем общий язык, то будем сотрудничать, хотя, в это я не особо верю

Спустя 6 минут, 9 секунд (15.10.2009 - 14:28) Gabriel написал(а):
live Uucyc
дамс говорила мне мама не плати вперед права была smile.gif ну надеемся на лутшее ожидаем худшего ну как всегда вообшем

Спустя 1 минута, 36 секунд (15.10.2009 - 14:29) live Uucyc написал(а):
нуу...не ошибается только тот, кто не живет

Спустя 15 дней, 3 часа, 32 минуты, 7 секунд (30.10.2009 - 19:01) live Uucyc написал(а):
Возникла такая проблема с сессиями..
при кодировке юникод при запуске кода
PHP
<?php
    session_start
();
    $_SESSION['session'] = 'session';
выводит ошибку
п»ї
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\test\www\1.php:1) in Z:\home\test\www\1.php on line 2
.
Что это за ошибка мне понятно.
Так вот, вопрос вот в чем, что это за странные символы п»ї?? В заподноевропейской кодировке эти символы пропадают. Как избавиться от них в Юникоде??

Спустя 36 минут, 59 секунд (30.10.2009 - 19:38) kirik написал(а):
live Uucyc
Отключи BOM в своем редаторе.

Спустя 15 часов, 30 минут, 54 секунды (31.10.2009 - 11:09) live Uucyc написал(а):
символы пропали...но ошибка осталась. код из 4 строчек, нет даже пробела перед session_start, но ошибка остается в кодировке юникод. Работаю в дримвивере..но пробовал создавать и через простой блокнот.
Помогите разобраться, а то так не хочеться все переводить в другую кодировку

Спустя 8 часов, 16 минут, 9 секунд (31.10.2009 - 19:25) kirik написал(а):
Цитата (live Uucyc @ 31.10.2009 - 03:09)
нет даже пробела перед session_start

Может есть пробел перед <?php?

Спустя 5 часов, 41 минута, 32 секунды (1.11.2009 - 01:07) live Uucyc написал(а):
kirik, на это я впервую очередь посмотрел...если б был пробел, то и в другой кодировке все равно не работало б

Спустя 5 дней, 23 часа, 19 минут, 2 секунды (7.11.2009 - 00:26) live Uucyc написал(а):
Отпишусь, чтоб можно было уже закрыть тему....Проблемы нерабочей сессии была в кодировке ютф...почему, не знаю...перешел на 1251 и все стало работать...


_____________
Пусть хвалит тебя другой, а не уста твои, - чужой, а не язык твой.
Быстрый ответ:

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