Как лучше собрать параметры(POST) в тело основного скрипта?

stk

Новичок
Как лучше собрать параметры(POST) в тело основного скрипта?

Доброго времени суток многоуважаемый All.
Имеем примерно следующий скрипт (головной), который запускает нужную форму в зависимости от переданных (POST) предыдущей формой:
PHP:
$x=new Filtr();
$x->filtr_POST($_POST);

switch($e)
{
case 1:
     include 'form1.php'; break;
case 2:
     include 'form2.php'; break;
case 3:
     include 'form3.php'; break;
}
Каждой формой возвращаются различные параметры. Классом Filtr проверяется возврат "введенности" параметров формой и соответственно устанавливается $e.
Проблема: при попытке вызова уже второй формы $_POST уничтожается (off) и создается вновь, что приводит к потере параметра, переданной первой фомой.
Вопрос: как лучше собрать параметры в тело основного скрипта?

P.s. 1) Если бы последовательно вызывались самостоятельные формы одна за другой, можно было бы легко и просто воспользоваться сессиями.
2) Мне на ум приходит использование дополнительного массива, в который передавать $_POST от форм. А уже данным массивом производить проверку возврата " введенности" параметров формой.
3) Или все-таки существует возможность заставить не уничтожаться $_POST при вызове второго скрипта?
 

Фанат

oncle terrible
Команда форума
Жуть. И это пишется в теорию.

Чем тебя сессии не устроили, гений? Что ты называешь "самостоятельными формами" и чем они отличаются от твоих так, что сессии вдруг перестали работать?
 

stk

Новичок
Самостоятельной подразумеваю: form1->form2->form3. Др. словами первая форма передает параметры второй форме, та в свою очередь третьей и т.д. последовательно. Параметры приходится тянуть транзитом.

В моем же случае один скрипт вызывает нужную форму, в зависимости от полученных данных будет вызываться другая (нужная) и т.д. до тех пор пока не собирутся все нужные параметры. Какая необходимость гонять транзитом параметры внутри самого скрипта? T.e. я должен своим скриптом передать $_POST[1] одной форме, принять от нее $_POST[1] и $_POST[2]. Другой форме нужно будет передать $_POST[1] и $_POST[2] , а принять $_POST[1], $_POST[2] и $_POST[3] и так до окончания скрипта. А зачем мне передавать каждый раз $_POST[предыдущий] если я его уже получил и в следующей форме этот параметр не нужен. Пока мое предпочтение останавливается на том, чтобы полученный парметр где-нибудь сохранить и не гонять его без надобности.
 

Фанат

oncle terrible
Команда форума
боже мой. "внутри скрипта".
Нету у тебя никакого "внутри скрипта". И формы у тебя самостоятельные.
Читать. PHP FAQ: Самые основы. Как работает PHP. До просветления.

-~{}~ 05.03.08 11:03:

Здаачу решать сессиями.
О выполнении доложить
 

jonjonson

Охренеть
stk, если нужно отписать визард использующий несколько форм, то действительно, как отметил *****, для сохранения состояния используй сессию.

Другими словами. Если нужно сделать несколько последовательных запросов к скриптам с формами, то результат запроса к каждой форме, нужно где-то сохранять. Лучше всего в данной ситуации использовать сессии.
 

stk

Новичок
Огромное спасибо *****у за ссылку.
В итоге получится, что "головной скрипт" выполнит форму, и благополучно убьется из памяти. Потом когда форма будет возвращать данные скрипту - скрипт будет запускаться по новой. В этом случае предложенный мной вариант с дополнительным массивом не будет работать.
Действительно, как предложил jonjonson можно где-то сохранять (во внешнем файле). Но только для чего?
Вот и остается - сессии.

Спасибо, что помогли разобраться!
 

stk

Новичок
Ну вот теперь всё встало на свои места.
Сессии позволяют однозначно идентифицировать источник запроса. А попытка самому сохранять во внешний файл - уродливая пародия на ту-же сессию. :)

На этом всё. Ещё раз спасибо.
 
Сверху