Можно ли устанавливать переменные сеанса PHP с помощью Javascript?
Сеанс хранится на стороне сервера, поэтому вы не можете добавлять в него значения из JavaScript. Все, что вы получаете на стороне клиента, — это файл cookie сеанса, который содержит идентификатор. Одной из возможностей было бы отправить запрос AJAX серверному сценарию, который установил бы переменную сеанса. Пример с методом jQuery .post()
:
$.post('/setsessionvariable.php', { name: 'value' });
Конечно, вы должны быть осторожны с раскрытием такого скрипта.
Вы не можете напрямую управлять значением сеанса из Javascript — они существуют только на сервере.
Однако вы можете позволить своему Javascript получать и устанавливать значения в сеансе, используя вызовы AJAX.
См. также
Если вы хотите разрешить манипулирование постоянными данными на стороне клиента, лучше всего использовать файлы cookie. Вот для чего были разработаны файлы cookie.