Можно ли установить переменные сеанса PHP с помощью Javascript?Установить переменную сеанса с использованием javascript в PHP
ответ
В JavaScript:
jQuery('#div_session_write').load('session_write.php?session_name=new_value');
В session_write.php файле:
<?
session_start();
if (isset($_GET['session_name'])) {$_SESSION['session_name'] = $_GET['session_name'];}
?>
В HTML:
<div id='div_session_write'> </div>
Сессия хранится на стороне сервера, поэтому вы не можете добавлять к ней значения из JavaScript. Все, что вы получаете на стороне клиента, - это cookie сеанса, который содержит идентификатор. Одна из возможностей - отправить запрос AJAX на серверный скрипт, который установит переменную сеанса. Пример с .post()
метода JQuery в:
$.post('/setsessionvariable.php', { name: 'value' });
Вы должны, конечно, быть осторожным разоблачение такого сценария.
Вы не можете напрямую манипулировать значением сеанса из Javascript - они существуют только на сервере.
Вы можете позволить своему Javascript получить и установить значения в сеансе с помощью вызовов AJAX.
Смотрите также
Если вы хотите, чтобы на сторону клиента манипуляции постоянных данных, то лучше всего использовать кук. Для этого были разработаны файлы cookie.
но они приходят с ограничениями @lese majeste.поэтому я ищу, чтобы взять мой массив javascript с одной страницы на другую страницу – saikiran
Невозможно. Поскольку JavaScript является клиентской, а сеанс - серверным. Чтобы сделать что-либо, связанное с сеансом PHP, вам нужно перейти на сервер.
или чисто JS см также на StackOverflow: JavaScript post request like a form submit
НО ПОЧЕМУ попытаться установить $ _SESSION с JS? любая переменная JS может быть изменена игроком с некоторыми сторонними инструментами (firebug), таким образом, любой игрок может модифицировать $ _session []! И PHP не может дать js какие-либо секретные коды (или даже [перекатывать] зашифрованные), чтобы вернуться, все это видно. JQuery или AJAX не могут помочь, это все js в конце.
Это происходит в онлайн-дизайне игры. (Может быть, немного теории игр?) Прости меня, у меня есть мастера и любовь, чтобы использовать теорию :)) Как и в crimegameonline.com, я инициализирую загадку мини-игры с PHP, сохраняя начальную доску в $ _SESSION ['foo «]. Затем я использую php для [make html, который] показывает начальный запуск головоломки. Затем js берет верх, наблюдая за кнопками и элементом mody xy, когда игроки делают ходы. Я НЕ хочу играть на клиент-сервере (например, WOW) и спрашивать сервер «эй, мой игрок хочет переместиться на xy, что мне делать?». Это большая пропускная способность, я не хочу, чтобы сервер был задействован.
И я могу просто отправлять POST каждый раз, когда игрок делает ошибку (или умирает). Игрок может блокировать исходящие POST (и изменять локальные JS-вары, чтобы заставить его забыть счетчик) или просто изменять исходящие POST-данные. ДА, люди это сделают, особенно если речь идет о реальных деньгах.
Если игра небольшая, вы можете отправлять обновления сообщений. КАЖДЫЙ ход (нажатие кнопки), односторонний, с пост-варами последних двух ходов. Затем проверка работоспособности сервера продолжается, а новые кошки - в $ _SESSION ['allMoves']. Если игра массивная, вы можете просто отправить «половинное» обновление всех предшествующих ходов и посмотреть, совпадает ли она в списке последнего обновления.
Затем, после того, как JS думает, что мы имеем выигрыш, или добавить мод кнопку, чтобы изменить страницы:
document.getElementById('but1').onclick=Function("leave()");
...
function leave() {
var line='crimegameonline-p9b.php';
top.location.href=line;
}
Затем PHP новая страница выглядит в $ _SESSION [ «инициализации»] и играет через каждый из $ _SESSION ['allMoves'], чтобы убедиться, что это действительно победитель. Сервер (PHP) должен решить, действительно ли это победитель, а не клиент (js).
ps: можно было бы использовать AJAX для (получать или публиковать) отправлять отдельные ходы, не переходя на страницу действия, на страницу действия .php, которая кошки их в session var (нет информации о тексте/заголовке). – dako
Один си mple способ установить переменную сеанса - отправить запрос другому файлу PHP. Здесь нет необходимости использовать JQuery или любую другую библиотеку.
Рассмотрим меня index.php файл, в котором я создаю SESSION
переменную (скажем $_SESSION['v']=0
), если SESSION
не будет создан в противном случае я загрузит другой файл.
код выглядит так:
session_start();
if(!isset($_SESSION['v']))
{
$_SESSION['v']=0;
}
else
{
header("Location:connect.php");
}
Сейчас в count.html Я хочу установить эту переменную сеанса 1.
Содержание в count.html
function doneHandler(result) {
window.location="setSession.php";
}
В count.html javascript part, send request t o другой файл PHP (скажем setSession.php
), где я могу получить доступ к переменной сеанса.
Так setSession.php в напишут
session_start();
$_SESSION['v']=1;
header('Location:index.php');
быть осторожны, делая это, так как это создает угрозу безопасности. злоумышленники могут просто повторно вводить данные в переменные сеанса, которые хранятся на сервере. это откроет вам кого-то, перегружающего ваш сервер данными нежелательной сессии.
вот пример кода, который вы не хотели бы сделать ..
<input type="hidden" value="..." name="putIntoSession">
..
<?php
$_SESSION["somekey"] = $_POST["putIntoSession"]
?>
Теперь злоумышленник может просто изменить значение putIntoSession и отправить форму в миллиард раз. Boom!
Если вы применяете подход к созданию службы AJAX для этого, вы должны убедиться, что вы обеспечиваете безопасность, чтобы убедиться, что повторные запросы не могут быть сделаны, что вы обрезаете полученное значение и выполняете некоторые основные проверки данных.
- 1. Установить переменную сеанса с помощью javascript
- 2. Как установить переменную javascript в переменную сеанса php
- 3. Как установить переменную сеанса с помощью JavaScript
- 4. получить и установить переменную сеанса в javascript
- 5. Asp.net MVC установить переменную сеанса в JavaScript
- 6. Как установить переменную сеанса onclick в php
- 7. установить переменную Javascript с PHP
- 8. Передача переменной JavaScript в переменную сеанса PHP
- 9. Как использовать переменную сеанса PHP в Javascript?
- 10. Переменная JavaScript переменной в переменную сеанса php
- 11. Как установить переменную javascript в переменную php?
- 12. Невозможно установить переменную сеанса
- 13. Как установить переменную сеанса PHP из гиперссылки?
- 14. Guzzle php как установить (mock) переменную сеанса
- 15. Как установить переменную сеанса
- 16. Установить переменную сеанса из jQuery
- 17. Установить переменную Javascript из PHP Получить переменную
- 18. с использованием сеанса PHP внутри JAVASCRIPT?
- 19. Установить переменную JavaScript из PHP
- 20. Как установить переменную сеанса в jQuery
- 21. Установить файл JavaScript в переменную в PHP
- 22. magento 2.0: установить переменную сеанса
- 23. PHP Переключить переменную сеанса
- 24. установить переменную сеанса php с помощью ajax/jquery
- 25. MVC4: как установить переменную сеанса в значение null в javascript
- 26. удалить переменную сеанса в php
- 27. с использованием переменных сеанса внутри javascript-функций
- 28. как разделить переменную PHP сеанса
- 29. Как установить переменную javascript в php
- 30. Как установить переменную сеанса ASP.NET?
Это может быть угрозой безопасности, если люди используют переменные сеанса, ожидая, что они могут быть установлены только на стороне сервера. –