У меня есть PHP страница с 2 кнопки отправки и кнопки 2 радио:
<?php
$choiceIdx = 1;
$language = 'English';
if($_GET)
{
if(isset($_GET['choice']))
{
$choiceIdx = $_GET['choice'];
}
if(isset($_GET['language']))
{
$language = $_GET['language'];
}
}
?>
<form method="get">
<button type='submit' name='choice' value='1'>Choice1</button>
<button type='submit' name='choice' value='2'>Choice2</button>
<input id="English" type="radio" name="language" value="English" <?php echo ($language=='English')?'checked':'' ?> onchange="this.form.submit();" />
<label for="English">English</label>
<input id="Slovenian" type="radio" name="language" value="Slovenian" <?php echo ($language=='Slovenian')?'checked':'' ?> onchange="this.form.submit();" />
<label for="Slovenian">Slovenian</label>
</form>
Если я нажимаю на кнопку словенского радио, я получаю:
http://localhost/index.php?language=Slovenian
Если я после этого нажмите на кнопку Choice2 представить, «язык» сохраняется, и я получаю:
http://localhost/index.php?choice=2&language=Slovenian
Если я после этого нажмите на английском радио-кнопки, «выбор» не сохраняется, и я получаю:
http://localhost/index.php?language=English
Это моя первая страница PHP и после нескольких часов прибегая к помощи я добавил эту строку:
<input type="hidden" name="choice" value="<?php echo $choiceIdx; ?>">
этом «выбор» теперь сохранен, но я получаю:
http://localhost/index.php?choice=1&language=Slovenian&choice=2
Я надеваю Я не хочу его дважды в url. Пожалуйста, объясните, что я делаю неправильно. Спасибо!
EDIT: Я хочу использовать GET (а не POST), потому что URL-адрес должен быть сохранен как закладка.
Просто используйте POST вместо GET. То есть он не может быть в URL дважды, если его не в URL-адрес один раз. – developerwjk
Хорошо, никогда, POST не исправит это. Вам нужно найти новый способ сохранить выбор, потому что любая кнопка, которую вы нажмете для отправки, представит значение этой кнопки (вы назвали выбор кнопок), и ваш скрытый выбор ввода всегда будет отправлен ... так что да, вы получите два параметра выбора. – developerwjk
Возможно, выберите вариант выбора, а не две кнопки. – developerwjk