|
|
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Привет! Такой вопрос - есть многостраничная форма (method="POST") отображающая данные из таблицы БД с фильтром. Из нее же можно отредактировать любую строку или добавить новую. После редактирования/добавления на форме отображаются те же данные что и до, т.е. с тем же фильтром и та же страница, что и до редактирования/добавления. Т.е. фильтр и номер страницы передаются POST-ом. Для исключения повторной отправки пользователем формы редактирования, я дописал header('Location: '.$_SERVER['PHP_SELF']) сразу после сохранения изменений в БД. При этом после перехода $_POST оказывается пуст и я соответственно не могу применить тот же фильтр и перейти на ту же страницу, а попадаю в начало таблицы. Так вот вопрос - как бы сделать чтобы после header('Location: '.$кудатотам) я не терял значение фильтра и номер страницы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2012, 17:31 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Передавать гет-ом параметры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2012, 17:37 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
HettПередавать гет-ом параметры ещё в сессию можно писать. одна только проблема... стоит человечку выполнить запрос... уйти от компа на часок-другой (вообщем до окончания сессии) и вернувшись обновить страницу - фильтр уже не сработает... так что если есть возможность, согласен, лучше передавать гет-ом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 17:43 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Програмёруйти от компа на часок-другой (вообщем до окончания сессии) и вернувшись обновить страницу - фильтр уже не сработает...Решаемо, в общем то. Раз в N минут посылаем запрос на сервер, исключительно для поддержания сессии. Програмёрлучше передавать гет-ом+1. Кроме того, при таком подходе можно адрес странички с фильтром хранить в закладках, передать коллеге и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 17:53 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Проект в общем-то закрытый, т.е. для людей с улицы там отображается одна единственная страница с текстом ни о чем и ссылкой на форму логина. Из соображений безопасности get в проекте отсутствует полностью. Ну и руководство настаивает на том чтобы get-ов и дальше не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 09:33 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Тады, как вариант, фильтр хранить в сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 10:08 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Тогда из соображений безопасности и форму логина следует убрать, а то вдруг SQL-инъекцию кто сделает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 10:26 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
HettТогда из соображений безопасности и форму логина следует убрать, а то вдруг SQL-инъекцию кто сделает +1 Это какая-такая безопасность мешает GET использовать? ... То есть ты хочешь сказать, что get чем-то отличается от post для программера? )) а обычный юзер не думаю что станет вообще твой сайт ломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 10:38 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
vkleТады, как вариант, фильтр хранить в сессии. В смысле, в куках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 12:23 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 13:50 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
vkle, Вот блин)) ну, конечно же. Спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 13:53 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
Програмёрещё в сессию можно писать. одна только проблема... стоит человечку выполнить запрос... уйти от компа на часок-другой (вообщем до окончания сессии) и вернувшись обновить страницу - фильтр уже не сработает... так что если есть возможность, согласен, лучше передавать гет-ом Не обязательно их только в сессии хранить. Можно и так: 1) на странице с постом заталкиваем переменные в сессию 2) редиректим на ту же страницу locaton'ом, передав в параметре id сессии 3) при запросе этой страницы получаем из сессии переменные и кладём их в скрытые поля. То есть даже если человек отойдёт на час и сессия помрёт, те же самые данные будут лежать в скрытых полях, которые формируются сразу же после редиректа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 14:45 |
|
||
|
[PHP] Вручную задать значения для $_POST[] header('Location: '.$кудатотам)
|
|||
|---|---|---|---|
|
#18+
1. Нафига передавать айди сессии гетом? 2. Нафига вообще передавать данные в сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2012, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38062161&tid=1464357]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 441ms |

| 0 / 0 |
