Можно ли получить значения с помощью smarty, php, JQuery с другой страницы?[Нет кросс-доменов] - PullRequest
0 голосов
/ 09 августа 2010

Я работаю над файлами шаблонов smarty.

core php этого шаблонного движка кодируются с помощью ioncube.

Так что я ограничен , чтобы получать определенные значения только на определенных страницах.

Например,

Я получаю значение {$clientemail} только на clientareadetails.php

on clientprofile.php значение {$clientemail} равно null

Итак, возможно ли получить значения, используя smarty, php, JQuery с другой страницы?

Все мои страницы находятся только в одном домене.

Любая помощь будет оценена.

Спасибо!

1 Ответ

1 голос
/ 09 августа 2010

Вы должны присвоить Smarty все необходимые переменные с конца PHP. Не используйте Ajax для этого.

Если $clientemail является фиксированным значением в вашем сценарии, лучшим способом будет сохранить массив центральной конфигурации со всеми значениями в файле PHP, включая этот файл в каждом экземпляре сценария (include "conf.php"), и передавать массив как переменная Smarty.

 $conf = array();
 $conf["clientemail"] = "xyz@domain.com";

 ...........

 $Smarty = new Smarty();  // or whichever way you do it
 $Smarty->assign("conf", $conf);

 ............

 Then in the template:
 {$conf.clientemail}

Если $clientemail является введенным пользователем значением, вы можете сохранить его в $_SESSION (если у вас запущен сеанс) и получить его:

 In the PHP script that processes the form:
 $_SESSION["clientemail"] = ..... wherever clientemail comes from

 ...........

 $Smarty = new Smarty();  // or whichever way you do it
 $Smarty->assign("clientemail", $_SESSION["clientemail"]);

 ............

 Then in the template:
 {$clientemail}

Обратите внимание, что в этом примере возникнут проблемы, если у пользователя открыто два или более окон, и он заполняет одну и ту же форму одновременно: $_SESSION["clientemail"] будет перезаписываться при каждой отправке формы.

...