Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почему может исчезать сессионная переменная

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imedia
Отправлено: 26 Апреля, 2016 - 08:12:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




в футере проекта я написал вывод сессионной переменной на экран

но ее еще нет я расчитываю что она появится после приведенной ниже операции в которой
я через обработчик Аяксом отправляю данные ссылки

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. document.addEventListener("DOMContentLoaded",query_send);
  3. function query_send(){
  4. var elems = document.querySelectorAll('.inner a');
  5.     for (var i = 0, length = elems.length; i < length; i++) {
  6.         elems[i].addEventListener('click', function(e){
  7.             e.preventDefault();
  8.              
  9.             sendAjax(this.href);
  10.         });
  11. }
  12.      
  13.     function sendAjax(url) {
  14.         $.ajax({
  15.             url: '/server/fix_in_session.php',
  16.             type: "POST",        
  17.             data: { url:url },      
  18.             cache: false,
  19.             error: function (xhr, ajaxOptions, thrownError) {
  20.                
  21.             },
  22.             success: function (data) {            
  23.                 window.location.href = url
  24.             }
  25.         });
  26.     }
  27. }
  28.  
  29.  

В обработчике я записываю в сессию результат работы данного обработчика
PHP:
скопировать код в буфер обмена
  1.  
  2. $_SESSION['wiewed_products'][]=$product;
  3. print_r($_SESSION);
  4.  


print_r успешно выводит мне значение этой сессионной переменной
когда же происходит перезагрузка страницы по
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. window.location.href = url
  3.  


возвращаемся наверх - по var_dump нет значения сессионной переменной

(Отредактировано автором: 26 Апреля, 2016 - 14:51:49)

 
 Top
OrmaJever Модератор
Отправлено: 26 Апреля, 2016 - 11:13:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




я думаю аякс тут не причем, у вас что-то с сесиями. Либо не стартуются, либо с сессионой кукой что-то, может с файлами сессии что-то, например нету доступа к папке куда они пишутся.
P.S. "просмотренные товары" пишутся как viewed_products
imedia пишет:
wiewed_products


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
imedia
Отправлено: 26 Апреля, 2016 - 14:11:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




вопрос такой, почему может не записываться сессия?
назовите пожалуйста четко варианты, спасибо
 
 Top
caballero
Отправлено: 26 Апреля, 2016 - 14:30:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




наиболее вероятная причина - нет старта сессии.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
imedia
Отправлено: 26 Апреля, 2016 - 14:34:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




есть session_start()
 
 Top
caballero
Отправлено: 26 Апреля, 2016 - 14:36:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




где есть? В обработчике fix_in_session.php?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
imedia
Отправлено: 26 Апреля, 2016 - 14:51:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




caballero пишет:
где есть? В обработчике fix_in_session.php?


Да в обработчике, и удивительно что в самом сайте сессия выводится полная так с токеном, а в обработчике только добавленная переменная, что это неужели обработчик не видит сессионную переменную или быть может для него создается специальная сессия?

(Отредактировано автором: 26 Апреля, 2016 - 14:56:03)

 
 Top
OrmaJever Модератор
Отправлено: 26 Апреля, 2016 - 15:03:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




самое простое что приходит в голову это что кука сессии для обработчика ставится на path=/server/


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
imedia
Отправлено: 26 Апреля, 2016 - 15:09:32
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




это php.ini?
(Добавление)
OrmaJever
Объясните пожалуйста поподробнее очень интересна эта сессия
Говорят рыба то с головы гниет, кто придумал сессии разводить ))

(Отредактировано автором: 26 Апреля, 2016 - 15:33:36)

 
 Top
OrmaJever Модератор
Отправлено: 26 Апреля, 2016 - 15:44:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




imedia вопрос, кто тут сайт делает? Ты взялся делать сайт не умея дебажить? Как вообще можно что-то писать не умея разбираться в проблеме? У данной проблемы причин может быть много, и угадывать здесь интереса нету. Читай http://phpfaq[dot]ru/debug , затем как работают сессии, и проверяй чего не хватает


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Zif
Отправлено: 26 Апреля, 2016 - 15:52:37
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Дебажить может каждый, а взял седло то научить обязан, imedia А про параллельные сессии я подумаю сам, обещаю

(Отредактировано автором: 26 Апреля, 2016 - 16:05:29)

 
 Top
caballero
Отправлено: 26 Апреля, 2016 - 16:51:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
или быть может для него создается специальная сессия?

сервер вообще не понимает разницы - ajax для него это обычной http запрос

Цитата:
про параллельные сессии я подумаю сам, обещаю

не бывает никаких "паралельных" сессий.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Zif
Отправлено: 26 Апреля, 2016 - 18:27:19
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




caballero это ты уже себе, а может ли быть так что обработчик сессию записывает а индекс ее не видит, это же тоже абсурд

(Отредактировано автором: 26 Апреля, 2016 - 18:27:42)

 
 Top
OrmaJever Модератор
Отправлено: 26 Апреля, 2016 - 18:55:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB