Передача и хранение переменных в урле

Тема в разделе "Как сделать...", создана пользователем bugmenotbugmenot, 13 авг 2010.

Статус темы:
Закрыта.
  1. bugmenotbugmenot

    bugmenotbugmenot Создатель

    Регистр.:
    15 авг 2007
    Сообщения:
    44
    Симпатии:
    5
    Есть такая проблема.
    Существует страница с несколькими GET формами. Человек заполняет одну форму c action="<?=$_SERVER['PHP_SELF'];?>, страница перезагружается, он видит введеные данные и урл с переменными.
    Проблема вот в чем. Не уходя с этой страницы человек должен заполнить и отправить вторую форму, при этом данные из первой должны отстатся, а новые данные должны добавится к урлу.
    Например.
    Есть страница test.php
    Отправляем первую форму, получаем /test.php?name1=john&surname1=Smith
    Отправляем вторую форму, должны получить test.php?name1=John&surname1=Smith&name2=Vasya&surname2=Pupkin
    ну и дальше в таком духе.
    Как это можно реализовать?
     
  2. MniD

    MniD Постоялец

    Регистр.:
    21 сен 2006
    Сообщения:
    61
    Симпатии:
    18
    Добавить во вторую форму хайдовые поля с именами и значением из первой формы....
     
  3. bugmenotbugmenot

    bugmenotbugmenot Создатель

    Регистр.:
    15 авг 2007
    Сообщения:
    44
    Симпатии:
    5
    Если форм много то это не вариант.
     
  4. Delk0

    Delk0

    Регистр.:
    26 мар 2010
    Сообщения:
    284
    Симпатии:
    47
    Добавить ему в сессию массив и добавлять его содержимое, если он существует.
     
  5. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    В случае многошаговости заполнения форм возможны следующие варианты:
    1) Форма просто очень длинная, наличие одних полей формы никак не зависит от данных других полей. Решение - сделать 1 форму и раскидать ее поля по нескольким div'ам, которые с соответствующими display + z-index будут эмуляторовать страничную разбивку. Кнопку "отправить" соответственно логично разместить на последней псевдостранице. Кнопочки "Далее"и "назад " просто через JS листают страницы меняя соответствующие display + z-index страничных ДИВов.
    2) Поля формы зависят от введенных данных в другие поля (например чекнув "дополнительные параметры" вылязят поля для их ввода. Решение1: Через AJAX получать доп. поля и вставлять их в форму. Если форма длинная постраничность из п.1
    Решение2: Все сабмиты кроме последнего временно складировать в $_SESSION['например register']
    Обрабатывать их из сессии по завершении последнего шага.
     
Статус темы:
Закрыта.