Как я могу передать переменную от одного php к другому, который вызывается с помощью ajax, не будучи видимым для переднего конца - PullRequest
1 голос
/ 20 сентября 2011

У меня есть функция php, которая запускается при загрузке страницы build.php и создает переменную $.У меня также есть save.php, который вызывается с помощью функции ajax в scripts.js (принимая данные, отправленные через POST), но мне нужно использовать переменную $ в save.php.

Есть ли хороший способотправлять дальнейшие данные через ajax так, чтобы они не были видны на внешнем интерфейсе?

Я думал об использовании для этого переменной $ _SESSION, которая, похоже, будет работать, но я понимаю, что она может быть не совсем надежной и невсегда хорошая идея (хотя это могло быть завышено , где я искал ).

Это лучший способ?Или есть какой-то другой способ получить переменную PHP к другой через javascript без ее нахождения в коде внешнего интерфейса?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2011

Переменные сеанса существуют только на сервере, а не на клиенте.Чтобы сохранить переменную сеанса, созданную вашей функцией javascript, в браузере, вам нужно как-то передать ее на сервер.И, как вы, вероятно, понимаете, у вас нет большого контроля над тем, что происходит на стороне клиента.Они могут в значительной степени изменить любую публикуемую вами информацию на сервере - есть некоторые программы, которые делают это довольно легко.

Даже если вы используете ajax, клиент все равно может связываться с вашими переменными.

Вы можете попытаться зашифровать информацию перед ее отправкой.

Если, с другой стороны, вы хотите передать переменные между двумя скриптами, запущенными на сервере, вы можете сделать это с помощью переменных сеанса.

Обновление

Кажется, что вы создаете переменную в своем первом скрипте, а затем есть функция javascript, которая вызывает второй скрипт, и вам нужен второй скриптчтобы получить доступ к переменной, созданной первым сценарием.

В приведенном выше сценарии вы можете окончательно использовать переменные сеанса.Это основная причина их существования.Чтобы позволить вам передавать информацию между различными скриптами.

Первый скрипт PHP

session_start();
logic to create the variable
$_SESSION['myVar'] = $myVar;
rest of the script

Javascript

calls second script / does not change the value of the variable

Второй скрипт PHP

session_start();
$myVar = $_SESSION['myVar'];
execute second script

Я надеюсь, что это имеет смысл.

0 голосов
/ 20 сентября 2011

если вы использовали JQuery, это так же просто, как:

$.post({
   url: somurlhere,
   data: somedatahere
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...