За последние 24 часа нас посетили 15208 программистов и 1671 робот. Сейчас ищет 791 программист ...

Реализация функции назад/редактирование

Тема в разделе "PHP и базы данных", создана пользователем harek13, 21 фев 2011.

  1. harek13

    harek13 Активный пользователь

    С нами с:
    4 ноя 2010
    Сообщения:
    26
    Симпатии:
    0
    Доброе время суток. Есть такая задача - реализация функции назад(редактирование).
    То есть в начале добавляются объявления и после осуществляется переход на другую страницу. На странице, на которую мы только что перешли присутствует кнопка назад(или редактирование - думаю это одно и тоже). вопрос - как осуществляется весь этот механизм возврата к объявлению для редактирования?
    вариант просто вернуться назад через js не подходит - сбиваются все настройки js. то есть селекты перестают работать - проверки так же отказываются работать.

    есть кое какие мысли - не уверен что они верны:
    1. При добавлении объявления - ставится флаг (обозначает темповость объявления).
    2. При заходе на страницу добавления объявления проверять этот самый флаг в базе.
    3. Получается - выбираем собственно данные и расставляем их по своим местам(местами используя js).

    Может быть кто нибудь объяснит как правильно? Буду при многом благодарен любым идеям.
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    использую на работе такой вариант:

    1. форма редактирования, значения (приходящие или по умолчанию) в которой динамически выставляются с помощью js
    2. после заполнения формы происходит переход на следующую форму с кнопками НАЗАД - ВПЕРЁД
    3. при нажатии НАЗАД js изменяет action формы на предыдущую страницу и постит данные
    4. страница формы считывает приходящие постом данные и генерирует js код, заполняющий форму и обратно к пункту 1

    данный подход позволяет не задействовать базу данных или сессию, однако требует наличия js.
     
  3. harek13

    harek13 Активный пользователь

    С нами с:
    4 ноя 2010
    Сообщения:
    26
    Симпатии:
    0
    суть ясна. а если такой вариант - нужно проверить данные на сервере перед отправкой на форму с кнопками назад-вперед? то есть между заполненной формой и формой с кнопками назад/вперед - есть еще проверка на сервере. то есть был сабмит и произошла проверка на серваке с выдачей ошибок если таковы имеются. как быть в этом случае не подскажите?
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    так и быть.генераторы форм обёрнуты в виде функций, так что просто вызвать функцию.

    пример:

    адрес начальной формы - index.php, функция генерации страницы - form_new($params)
    адрес следующей формы - continue.php, функци генерации страницы - form_continue($params)

    index.php вызывает функцию form_new, передавая массив значений для заполнения формы.
    значения задаются из поста, если был пост, или берутся по умолчанию

    continue.php проверяет корректность введённых данных, и, если что-либо некорректно,
    вызывает функцию form_new($params) передавая полученные данные.
    если всё корректно - вызывается функция form_continue($params)


    всё это делалось на другой платформе, но суть та же.
    для пхп можно упрость подход:

    при проверке continue.php проверять корректность введённых данных,
    если данные некорретны - инклудить index.php и вызывать exit.
    если данные корректны - продолжить обработку.