Че то я не понял в чем замуты, но не стоит забывать про область видимости в PHP который
не видит переменных полученных внутри функции за пределами этой функции если эти переменные не заданы глобально, возможно здесь и есть проблем.
И для примера F@!nT я правильно понимаю, что:
Вы вызываете форму на странице с функцией DoAction и передаете параметры на скрипт mail, значит данные должны считываться(обрабатываться) скриптом action.mail.php? Я надеюсь это все не на одном скрипте происходит?
$params считается глобальной переменной и в нее можно пихать значения, но при этом должно быть так:
Инициализация с пустым параметром
Code: Select all
$this->smarty->assign('startform',$this->CreateFormStart($id,'mail',$returnid, $method = 'post', $enctype = '', $inline = false, $idsuffix = '', $params = ("myparam"=>"")));
где то в форме $params[myparam] = 'Hello world!!'; а в action.mail.php:
Code: Select all
if (isset($params[myparam])
echo $params[myparam];
Подкину исчо несколько идей передачи переменных которые вроде как успешно работают.
в скрипте с формой
Code: Select all
$params[actionparam] = 'Hello world!';
в скрипте получателе
Code: Select all
if (isset($params[actionparam])
echo $params[actionparam];
Передавать еще можно тупо в адресной строке (аналог GET) но у в скрипте + шаблон я не знаю где это можно втыкнуть, по ходу эта фишка удобна только для админки.
Code: Select all
if ($submit== "OK")
Redirect($id, 'defaultadmin', $returnid, array("module_message"=>$this->Lang('module_message'),"tab"=>"mytab", "myparam"=>"Hello world!"));
Поясню эту фишку, здесь после подтверждения происходит редирект на скрипт action.defaultadmin.php и в массиве передается несколько параметров: module_message - сообщение модуля, выбор таба на странице генерируемой action.defaultadmin.php и собственно передается сам параметр который потом можно считать на action.defaultadmin.php.
Ну и не стоит пренебрегать сессиями.
В скрипте с формой
Code: Select all
session_start();
$_SESSION['param01'] = 'Hello world!';
в скрипте получателе
Code: Select all
if (isset($_SESSION['param01'] {
$_SESSION['param01'];
session_unregister('param01');
Само собой что ПХП и сервер должен быть правильно настроен на работу с сессиями.
Заранее извиняюсь если ошибся где в синтаксисе, думаю в редакторе подсветит ошибки...