2013-09-08 2 views
1

У меня возникли проблемы с использованием $_GET с переключателями.Повторение нескольких значений флажка в PHP

4th<input type="checkbox" name="date" value="4th"> 
5th<input type="checkbox" name="date" value="5th"> 
6th<input type="checkbox" name="date" value="6th"> 

Пользователь выбирает, в какие дни они доступны. Затем я хочу повторить, в какие дни пользователь выбрал:

<?php echo "You are available " . $_GET["date"] . "!"; ?> 

Приведенный выше код только echos out один. Не все трое. Есть ли способ сделать это?

+1

Изменить 'name =" date "' to 'name =" date [] "' – vee

ответ

1

checkbox значения возвращаются в массиве, поскольку они имеют один и тот же индекс, поэтому вам необходимо использовать name="date[]" в вашем HTML.

Если вы хотите узнать больше, просто попробуйте print_r($_GET['date']); и посмотрите, что вы получите.

И вы добавили ваш вопрос radio так хотел бы сообщить вам, что radio и checkbox 2 разные вещи, radio возвращает одно значение, где checkbox может возвращать несколько.

0

Вы могли бы дать каждому входу идентификатор:

<input type="checkbox" id="date1" value="4th" /> 
<input type="checkbox" id="date2" value="5th" /> 
<input type="checkbox" id="date3" value="6th" /> 

Тогда эхо это так:

$date1 = $_GET["date1"]; 
$date2 = $_GET["date2"]; 
$date3 = $_GET["date3"]; 

<?php echo "You are available " . $date1. ",". $date2. ",". $date3. ",". "!"; ?> 
0
Xth<input type="checkbox" name="date[]" value="Xth"> 

Вы можете использовать в PHP

$_POST['date'][0] 
$_POST['date'][1] 
1

Имени будет массив

<input type="checkbox" name="date[]" value="4th" /> 
<input type="checkbox" name="date[]" value="5th" /> 
<input type="checkbox" name="date[]" value="6th" /> 

Затем получают значение, как этот

<?php 

echo "You are available "; 
foreach($_POST["date"] as $value) { 
    echo "$value"; 
} 

?> 
0

Пожалуйста, используйте массив, чтобы получить несколько значение -

Код:

4th<input type="checkbox" name="date[]" value="4th"> 
5th<input type="checkbox" name="date[]" value="5th"> 
6th<input type="checkbox" name="date[]" value="6th"> 

<?php 
    $date=$_GET['date']; 
    foreach($date as $dt){ 
    echo "You are available " . $dt . "!<br>"; 
    } 
?> 

Я не проверка выше кода. Думаю, это сработает.

Смежные вопросы