Как использовать jQuery AJAX $ .post для хранения переменных PHP $ _SESSION?

Помогите!

Мне трудно бороться с AJAX, чтобы работать на меня. У меня есть разбитая галерея с флажками под каждым изображением, и мне нужно сохранить значения флажка в переменных сеанса, если пользователь перемещается между страницами, поэтому, когда они отправляют форму в любое время, она будет включать все проверенные значения на всех страницах.

Я использую этот код jQuery:

$(document).ready(function() { $(".gal-nav").click(function() { $.post("form-data-holder.php", $("#gallery-form").serialize()); }); }); 

и файл form-data-holder.php говорит следующее:

 <?php $_SESSION['saved'] = "true"; foreach ($_POST as $key=>$value ) { if ( $key !== "submit" ) { $value = htmlentities(stripslashes(strip_tags($value))); $_SESSION[$key] = $value; } } ?> 

У меня есть два вопроса –

1) Как получить значения флажка из функции serialize ()? Я думаю, что есть больше, что мне нужно сделать с чем-то вроде value [], чтобы получить этот массив, и, как я полагаю, сохранить каждый из них в качестве отдельной переменной сеанса – разве я не могу сохранить массив как переменную $ _SESSION?

2) Прежде чем я даже пошутил с этим, я добавил, что строка $ _SESSION ['saved'] = "true"; к скрипту php, а затем я повторяю ключи и значения $ _SESSION на моей странице галереи, чтобы узнать, работает ли даже запрос AJAX. Это не. То, что $ _SESSION ['saved'] не добавляется в список эхо-переменных $ _SESSION, когда я возвращаюсь на страницу.

Любая помощь будет принята с благодарностью!

Вам нужно вызвать session_start () в файле form-data-holder.php.

Каждый раз, когда вы делаете вызов ajax, вы запрашиваете новую / новую страницу с сервера, которая не знает ни одной из переменных, установленных на исходной странице.