webew
Войти » Регистрация
 
PHP

Данные формы и номера страниц, как совместить?..

11 февраля 2012, 12:47
Автор: Cherneeka
Здравствуйте, подскажите, пожалуйста такую вещь... Что-то не могу разобраться...

На странице есть POST форма с параметрами отбора. При нажатии на кнопку "Показать" выводится таблица.
Написала процедуру, которая выводит номера страниц (ссылки с параметром Page) для таблицы.
По отдельности все работает, но вот вместе не могу совместить номера страниц и данные формы. Потому как получается, когда нажимаю на номер страницы (ссылка), то страница обновляется и пропадают все данные отбора на форме...
Как при нажатии на ссылку (номер страницы) сделать так чтобы параметры POST формы сохранялись...
Добавить комментарий
Отображение комментариев: Древовидное | Плоское

1234ru

Цитата:
Как при нажатии на ссылку (номер
страницы) сделать так чтобы параметры POST
формы сохранялись...


Сделать это непросто, т.к. при нажатии на ссылку нельзя передать POST-запрос (если обходиться без javascript, но это уже отдельная история), его можно передать только отправив форму, а одновременно и отправить форму, и нажать на ссылку не получится.

По этой причине формы, где планируется перечень страниц, удобнее делать типа GET, а не POST.

Если POST по каким-то причинам обязателен, то придется для хранения данных формы между разными страницами использовать сессии. В случае, если получен POST-запрос - обновлять хранимые данные. Т.е. примерно так:

// первым делом нужно начать сессию,
// причем до этого нельзя ничего выводить на экран
// (включая предупреждения PHP)
// в противном случае сессия не стартует
session_start();

if (isset($_POST['button'])) // пришел запрос
    $_SESSION['form'] = $_POST;

// ... дальше рисуем форму,
// основываясь уже на $_SESSION, а не на $_POST
То, что не убивает нас, делает нас инвалидами.
14.02.2012, 04:26
Ответить
NO USERPIC

rgbeast

еще один вариант - использовать ajax, чтобы обновлять содержимое, не перезагружая страницу
14.02.2012, 04:32
Ответить

Cherneeka

Хм... пойду узнаю что это за зверь )))) Спасибо за совет :)
новичок
14.02.2012, 11:46
Ответить

Cherneeka

Спасибо, все понятно, буду тренироваться на сессиях в качестве самообучения )))
новичок
14.02.2012, 11:44
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100