отправить HTML-форму в php часть post part get - PullRequest
0 голосов
/ 27 января 2012

Я занимаюсь разработкой am mcv framework на php, и в настоящее время мой формат URL-адреса:

/admin/users/?action=add&method=admin

, это вызовет контроллер ADMIN, а затем вызовет пользовательскую функцию в административном контроллере.Пользовательская функция загружает модель admin_model, и action = add & method = admin вызовет функцию add_admin ().

Если вы все еще придерживаетесь, в каждой модели у меня есть такие функции, как:

add_admin()
edit_admin()
view_admin()
add_agent()
edit_agent()

etc, etc, etc ...

теперь функция add_admin () возвращает html-форму, которую пользователь заполняет и отправляет

при отправке, я хотел бы вызвать функцию post_admin()

Таким образом, мой URL должен быть:

/admin/users/?action=post&method=admin

однако я НЕ МОГУ установить значение HTML-формы для этого URL-адреса.

, поэтому мне нужна форма дляmethod = "post" данные формы и method = "get" строка запроса

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 27 января 2012

Я склонен согласиться с GordonM в том, что это скоро станет громоздким, при этом вы всегда можете добавить скрытые входные данные в вашу форму, и ваш контроллер должен установить $ _GET ['Action'] = $ _POST ['Действие'] ....

0 голосов
/ 27 января 2012

Я был бы склонен избегать этого на вашем месте, вы могли бы просто запутаться.Кроме того, хотя он не написан на камне, обычно считается, что GET используется для действий, которые не вызывают изменений, а действия, которые вызывают изменения, должны быть ограничены POST.

Вариант 1: Используйте $ _REQUEST

$ _ REQUEST содержит совокупность $ _GET, $ _POST и $ _COOKIE (и, возможно, $ _SERVER тоже, точно не помню).

Я бы настоятельно рекомендовал не использовать $ _REQUEST, однако у вас нет возможности узнать, получены ли ваши значения из $ _GET или $ _POST, и если у вас одна и та же переменная в обеих, одна перезапишет другую.

Другой вариант - поместить часть запроса GET в действие формы.

<form method="post" action="file_to_process_form.php?get1=foo&amp;get2=bar">

Это лучше, потому что вы знаете, откуда берутся переменные, но это может стать немного запутанным, особенно если есть много данных, которые нужно отправить через GET.

Лично я бы сказал, что вам лучше всего просто избегать смешанных типов представлений и просто придерживаться GET или POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...