Обновить переменную сеанса PHP при изменении - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть прослушиватель событий на входе, который выполняет запрос ajax для установки переменной сеанса PHP.

Это работает для первого триггера события, но после этого переменная сеанса PHP остается неизменной.

Это мой кусок PHP

session_start();
if(isset($_GET['driver'])){ 
        $driver = $_GET['driver'];
        $_SESSION['driver'] = $driver;
}

Это мой JavaScript

$('#save').change(function() {
$.ajax({
                url: 'index.php',
                method: 'GET',
                data: {
                    'driver': 'example'
                }
});

Это мой консольный журнал. Начиная с первого изменения триггера. Я использую dump_session для вывода содержимого переменных php. Прямо перед «попыткой ajax-запроса» будут новые измененные входные данные, которые отправляются в ajax-запросе.

builder.js:168 (2) [_.P, _.P]
builder.js:170 ["Galerías Toluca"]
builder.js:171 Attempting ajax request
builder.js:318 array(2) {
  ["destinos"]=>
  string(22) "["Galerías Toluca"]"
  ["markers"]=>
  string(82) "[{"lat":19.2889701,"lng":-99.61342109999998},{"lat":19.2898867,"lng":-99.6226059}]"
}

builder.js:168 (3) [_.P, _.P, _.P]
builder.js:170 (2) ["Galerías Toluca", "IEDIS TOLUCA"]
builder.js:171 Attempting ajax request
builder.js:318 array(2) {
  ["destinos"]=>
  string(22) "["Galerías Toluca"]"
  ["markers"]=>
  string(82) "[{"lat":19.2889701,"lng":-99.61342109999998},{"lat":19.2898867,"lng":-99.6226059}]"
}

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

попробуйте этот код

require "src/akSession.php" ; 

$session= akSession::getInstance();

if(isset($_GET['driver'])){ 
        $driver = $_GET['driver'];
        $session->set('driver', $driver);
}

не забудьте добавить composer require aminelch/ak-session в ваш файл композитора

0 голосов
/ 17 ноября 2018

Я предполагаю, что вы уже использовали unset($_SESSION['driver']); до обновления $_SESSION['driver'] = $driver;, и проблема все та же

...