[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пропадает сессия
solomon
На странице имеется селект и отдельно от селекта ссылка, в часть адреса которой подставляется выбранное пользователем значение селекта.

Подставление значения происходит через сессии. Jquery забирает значение селекта, отправляет его в php, php сохраняет значение в сессию и подставляет его в ссылку.

Так вот все прекрасно подставляется, если пользователь незарегистрирован и выбирает в селекте разные значения, а также если он решит залогинился и войдет как залогиненый, а вот если пользователь разлогинился, значение почему-то пропадает, хотя jquery при разлогировании добросовестно отправил значение в php и по идее оно опять должно записаться в сессию и подставиться. Но вывод сесии на экран показывает, что в ней ничего нет.

Что не так делаю?



Спустя 6 минут (14.01.2012 - 21:50) YVSIK написал(а):
Цитата
при разлогировании добросовестно отправил значение в php и по идее оно опять должно записаться в сессию и подставиться.
blink.gif не понятна твоя логика ?
при выходе зарегенова юзера что происходит? что? он из сессии ушел!))
если ты его из сессии не выведешь он так и останется залогиненым
наводящий вопрос тогда зачем его обратно в сессию пихать?

Спустя 3 минуты, 4 секунды (14.01.2012 - 21:53) redreem написал(а):
уверен на 99% что при разлогинивании ты выполняешь session_destroy или аналогичное по смыслу.

Спустя 4 минуты, 46 секунд (14.01.2012 - 21:58) YVSIK написал(а):
redreem
точно ТАК!! для ТС. убери ту строчку что те сказал redreem и посмотри что будет в сессии и как будет выглядеть юзер )

Спустя 7 минут, 9 секунд (14.01.2012 - 22:05) solomon написал(а):
пихаю в сессию чтобы еще в нескольких местах использовать. проект на фреймворке Yii. в сессию сохраняю так: Yii::app()->user->setState('cityId',$cityId);
не знаю где в нем найти выполняется ли session_destroy

Спустя 2 минуты, 34 секунды (14.01.2012 - 22:08) solomon написал(а):
и если в сессию не сохранять, а напрямую подставлять, то значение есть только в пределах страницы "не зарегистрированный", у зарегистрированного почему-то это значение вообще не появляется

Спустя 1 минута, 26 секунд (14.01.2012 - 22:09) redreem написал(а):
так найди во "всех" файлах session_destroй и закоментируй smile.gif и смотри что получится. хотя кроме этого могут быть и "ручные" чистки сессионных переменных. вообще совет: поменяй схему со своим селектом. кроме сессий есть например куки - может их проще использовать?

Спустя 1 минута, 39 секунд (14.01.2012 - 22:11) YVSIK написал(а):
Свернутый текст
так не бывает )
ОФ-Топ===> нельзя быть на половину беременным
это присказка такая не в обиду ЛАДЫ?


значит надо это место найти
и почитать что такое сессии - это глобальные переменные временные, которые видны на время сессии, вот потому и на других страницах их и нет пока сессия не запущена
разберись с логикой со своей

Спустя 1 минута, 49 секунд (14.01.2012 - 22:13) solomon написал(а):
да что-то совсем уже крыша едет... попробую с куками

Спустя 3 минуты, 38 секунд (14.01.2012 - 22:16) YVSIK написал(а):
solomon
Цитата
да что-то совсем уже крыша едет


да ЭТО не чё, это нормально бывает досидишься ,воротит от кодинга) ohmy.gif

Спустя 39 минут, 51 секунда (14.01.2012 - 22:56) solomon написал(а):
какая-то магия. деляю через куки jquery. значение из селекта не залогиненного пользователя в селект залогиненного подставляется, в ссылку не залогиненного подставляется, а в ссылку не залогиненного нет ((

Спустя 2 минуты, 51 секунда (14.01.2012 - 22:59) solomon написал(а):
код на странице

<?php $cityId = $_POST['cityId']?>//принимаю от jquery


<a class="example" href="/<?php echo $cityId; ?>/catalog">скачать каталог</a>

Спустя 7 минут, 5 секунд (14.01.2012 - 23:06) YVSIK написал(а):
И что это нам дает? где тут про сессии?
вот это==
<?php $cityId = $_POST['cityId']?>//принимаю от jquery

выгладит так
<?php $cityId = $_POST['cityId']?>

комент этого
//принимаю значени из ПОСТа ($_POST) это значит если есть глобальная переменная в посте ты её тут поймаешь, если её там нет, эта переменная буде пустой и это не относится ни к сессии ни к кукам
ещё раз ($_POST) это глобальный массив переменных, который можно передать , он для этого служит
примерно такое определение с моих слов по этому случаю за точность не отвечаю так понимаю сам

Спустя 14 минут, 47 секунд (14.01.2012 - 23:21) solomon написал(а):
это я получаю значение отсюда:

$('#city').change(function () {
var cid=$(this).val();
$.cookie('cityId', cid);
var cityId = $.cookie('cityId');
//alert(cityId);
$("#RouteRequestForm_city [value=" + cityId + "]").attr('selected', 'selected');
$.post('/site/index',{cityId:cityId},"json");
});

$(document).ready(function () {
var cityId = $.cookie('cityId');
alert(cityId);
$("#city [value=" + cityId + "]").attr('selected', 'selected');
$.post('/site/index',{cityId:cityId},"json");
});

Спустя 57 секунд (14.01.2012 - 23:22) solomon написал(а):
и куки я установил при изменении селекта

Спустя 3 минуты, 43 секунды (14.01.2012 - 23:26) redreem написал(а):
ну надо смотреть и php-сторону. я вообще не понимаю что за ссылку ты пытаешься формировать.

Спустя 8 минут, 46 секунд (14.01.2012 - 23:34) YVSIK написал(а):
Цитата
это я получаю значение отсюда:

ну давай так посмотрим

напиши так
echo  $_SESSION['name']
/* $name это есть значение самой переменной которое ты вводил в сессию
и обрати внимание на знак ($) */

что она выведет
ПС. ты не про то говоришь ты что-то попутал !

И ещё покажи как ты сессию запускаешь))

Спустя 34 минуты, 36 секунд (15.01.2012 - 00:09) solomon написал(а):
Цитата (redreem @ 14.01.2012 - 20:26)
ну надо смотреть и php-сторону. я вообще не понимаю что за ссылку ты пытаешься формировать.

да просто на странице есть ссылка на каталог. и если в селекте выбрали какой-то город, то надо эту ссылку изменить на ссылку со значением города. город у меня запоминается в куках и подставляется чтобы пользователь лишний раз не мучался выбором города. соответственно и ссылка тоже должна быть на тот же город.

Спустя 1 минута, 45 секунд (15.01.2012 - 00:11) solomon написал(а):
Цитата (YVSIK @ 14.01.2012 - 20:34)
И ещё покажи как ты сессию запускаешь))

от сессий я уже отказался по советам из этой темы

Спустя 8 минут, 26 секунд (15.01.2012 - 00:19) YVSIK написал(а):
solomon ну что тут скажешь!?) или или, но тема называется пропадают сессии
и коней на переправе не меняют
и ещё, у них смысл один, они работают почти одинаково только сессии висят в сессии глобальных перменных а куки в черпаются из ПК пользователя предварительно их там прописав на хранение ) не велика разница обращение к ним одно и тоже
ты говоришь про свое но показываешь ПОСТ и он тут никакого значения не имеет ни для одного ни для другого.

Спустя 44 секунды (15.01.2012 - 00:20) redreem написал(а):
хм... а нафига тебе при этом серверная сторона? все можно сделать js. покажи полный код страницы (с указанием где эта ссылка и где селект).

Спустя 53 секунды (15.01.2012 - 00:21) redreem написал(а):
YVSIK
при всем уважении... я тож на 4-й банке пива smile.gif

Спустя 18 минут, 43 секунды (15.01.2012 - 00:39) solomon написал(а):
Цитата (redreem @ 14.01.2012 - 21:20)
хм... а нафига тебе при этом серверная сторона? все можно сделать js. покажи полный код страницы (с указанием где эта ссылка и где селект).

серверная сторона нужна для ряда проверок. а на js вроде заработало. почему-то требовалось заново прорисовать ссылку, чтобы она смогла зацепить значение

$(document).ready(function () {
$('#city').change(function () {
var cid=$(this).val();
$.cookie('cityId', cid);
var cityId = $.cookie('cityId');
//alert(cityId);
$("#RouteRequestForm_city [value=" + cityId + "]").attr('selected', 'selected');
$.post('/site/index',{cityId:cityId},function (){
$(".example").html('<a href="/'+cityId+'/catalog">скачать каталог</a>');
});
});


var cityId = $.cookie('cityId');
//alert(cityId);
$("#RouteRequestForm_city [value=" + cityId + "]").attr('selected', 'selected');
$.post('/site/index',{cityId:cityId},function (){
$(".example").html('<a href="/'+cityId+'/catalog">скачать каталог</a>');
});
});


теперь буду серверную часть мучить

Спустя 1 минута, 56 секунд (15.01.2012 - 00:41) redreem написал(а):
вот поэтому я чистым jQuery и не пользуюсь. предпочитаю некоторые вещи делать только на js. потому что порой то, что должно по логике сработать - непонятно почему - неработает smile.gif

например вместо $.html я всегда использую document.getElement......innerHTML, потому что это "гарантировано", а с $.html есть случаи, когда в DOM содержимое не заносится почему-то.

Спустя 2 минуты, 3 секунды (15.01.2012 - 00:43) solomon написал(а):
Цитата (redreem @ 14.01.2012 - 21:41)
вот поэтому я чистым jQuery и не пользуюсь. предпочитаю некоторые вещи делать только на js. потому что порой то, что должно по логике сработать - непонятно почему - неработает smile.gif

даже в голову не пришло просто js попробовать. надо глянуть

Спустя 17 минут, 44 секунды (15.01.2012 - 01:01) YVSIK написал(а):
solomon Ну вот хоть угодили немного)
Свернутый текст
я с джеяваскрипт не работал Так-сказать , пока не было нужды, но вот с квери немного познакомился и понял следующее, и вот тебе ЦИтата(зачем использовать ТАНК? если есть велики)от себя(чтоб перевозить авоську огурцов?) и забил на неё
посмотрю как она делает и сделаю так, пропишу её результат, все этого вполне хватит, мало? тогда js уже буду рыть, не поможет во только тогда и займусь в плотную
чем меньше код тем быстрей разобраться в его логике, а рыться на складе по выбору ночной сорочки в ста ящиках упаковки , это высший пилотаж мастерства развлечения biggrin.gif

да простят меня админы за оф-топ в староновогодную ночь

Спустя 9 минут, 3 секунды (15.01.2012 - 01:10) redreem написал(а):
YVSIK
уже 2-я ночь старого нового года smile.gif не простят.
Быстрый ответ:

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