Метод GET не добавляет параметры - PullRequest
4 голосов
/ 20 ноября 2011

Я работаю над школьным проектом, написанным на PHP, несколько недель, и я застрял.

Я использую для своей структуры страницу index.php? Page = .... где страница может быть домашней, game, aboutus, contact и т. д.

Теперь я нахожусь в index.php?page=game и хочу отправить с помощью формы методом GET некоторые параметры, такие как game_name, creation_by и stage_paused.Здесь возникает проблема, потому что, когда я нажимаю кнопку «Отправить», я теряю свой параметр "page=game", и он похож на index.php?game_name=...&created_by=...., и у меня больше нет моей страницы = игра, и по умолчанию мой скрипт проверяет параметр страницы, а если нетэто делает домашнюю страницу.

Я проверил стандарты w3, и они говорят, что метод GET ДОЛЖЕН ДОБАВИТЬ мои параметры формы с тем, который указан в action ="" в форме, но в моем случае я теряю свой параметр страницы.

Не понимаю, почему он не запоминает мои текущие параметры при отправке формы.

Буду очень признателен за вашу помощь и извините за мой плохой английский.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 20 ноября 2011

Добавьте параметр страницы к:

  1. Ваш <form> URL-адрес действия или
  2. Ваш <form> как скрытый <input> элемент, например:

<input type="hidden" name="page" value="<?= $_GET['page'] ?>" />

3 голосов
/ 20 ноября 2011

Простой скрытый элемент ввода должен выполнить свою задачу:

<input type="hidden" name="page" value="<?php echo $_GET['page']; ?>">

Таким образом, параметр страницы, предоставленный через URL-адрес, также рассматривается как часть вашей формы и поэтому добавляется к URL-адресу действия формы.

2 голосов
/ 20 ноября 2011

Вам необходимо добавить скрытое поле для страницы:

 <input type="hidden" name="page" value="game" />

Вы также можете изменить метод формы на POST и добавить страницу к действию:

<form action="index.php?page=game" method="POST">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...