Пост-переменные только передаются, когда action = "" пусто - PullRequest
0 голосов
/ 27 марта 2012

В php-скрипте у меня есть форма, метод post, атрибут action пустой, который работает до сих пор.но когда я добавляю значение в атрибут действия, например, так:

 action="index.php?id=9&get-id=5"

весь пост-массив пуст после отправки.

Кто-то знает, что это может быть?

Заранее спасибо, Jayden

edit: вот пример:

 $form = '<form name="form1" method="post" enctype="multipart/form-data" action="index.php?id=9&get-id=5">
                         <input type="text" name="name1" value="">
                         <input name="submit" type="submit" value="submit">
                    </form>';

Форма отображается на вкладке в js-tabmenu, которая также открываетсяget-parameters, в каждой вкладке есть форма и после отправки get-param необходимо отобразить правую вкладку с нужной формой.

Ответы [ 3 ]

2 голосов
/ 27 марта 2012

Вы не должны использовать как GET, так и POST в запросе.

Вы должны использовать только post, поэтому две переменные 'id' и 'get-id' должны быть в форме (используйте скрытые поля)

редактирование:

попробуйте изменить код на:

<form name="form1" method="post" enctype="multipart/form-data"
  action="index.php?id=9&get-id=5">
    <input type="hidden" name="id" value="9">
    <input type="hidden" name="get-id" value="5">
    <input type="text" name="name1" value="">
    <input name="submit" type="submit" value="submit">
 </form>

тогда если вы:

print_r($_POST);

вверху страницы index.php вы сможете увидеть, что происходит.

Также - просто чтобы проверить, есть ли какие-либо перенаправления в вашем коде, то есть делает ли index.php перенаправление в другое место, так как это может привести к потере $ _POST

2 голосов
/ 27 марта 2012

попробуйте использовать $_REQUEST

, который является коллекцией $ _GET и $ _POST

0 голосов
/ 27 марта 2012

Если вы пытаетесь получить доступ к идентификатору или идентификатору get из вашего скрипта: они были добавлены в URL, даже если вы отправляете эту форму по почте.Поэтому вы найдете их значения в $ _GET, как обычно.Только значения полей <input> (и textarea и т. Д., Просто: все элементы формы) находятся в $ _POST.

...