2013-08-03 3 views
0

На моей форме у меня есть эта часть:Как отправить значения флажка?

<input type="checkbox" name="city" value="Nicosia" class="choosecity">Nicosia<br> 
<input type="checkbox" name="city" value="Limassol" class="choosecity">Limassol<br> 
<input type="checkbox" name="city" value="Larnaca" class="choosecity">Larnaca<br> 

и на странице результатов, где я использую функцию почты, я хочу получить thechecked города.

Я использовал это без результата:

Что я здесь отсутствует?

+1

ваши имена формы должны utlize синтаксис массива затем, используя '< input name = "city []"> ' – mario

ответ

1

Вы должны назвать свои входы в виде массива name="city[]"

2

Использование name="city[]". В противном случае вы сможете подать только один город. Вы также можете использовать

$cities = isset($_POST['city']) ? $_POST['city'] : array(); 
foreach ($cities as $city) 
1

PHP использует синтаксис квадратных скобок для преобразования формы входа в массив, поэтому, когда вы используете имя = «образование []» вы получите массив, когда вы делаете это:

$educationValues = $_POST['education']; // Returns an array 
print_r($educationValues); // Shows you all the values in the array 

Так, например:

<p><label>Please enter your most recent education<br> 
    <input type="text" name="education[]"></p> 
<p><label>Please enter any previous education<br> 
    <input type="text" name="education[]"></p> 
<p><label>Please enter any previous education<br> 
    <input type="text" name="education[]"></p> 

даст вам все введенные значения внутри $ _POST [ 'образование'] массив.

В JavaScript, это более эффективно, чтобы получить элемент по идентификатору ...

document.getElementById("education1"); 

Идентификатор не должен совпадать с именем:

<p><label>Please enter your most recent education<br> 
    <input type="text" name="education[]" id="education1"></p> 
0

Вы просто просто должны добавьте это [], чтобы ввести имя, это создаст массив, начинающийся с [0]. Результат будет выглядеть так:

array(
    [0] => 'Nicosia', 
    [1] => 'Limassol', 
    [2] => 'Larnaca', 
) 

В HTML:

<input type="checkbox" name="city[]" value="Nicosia" class="choosecity" />Nicosia<br> 
<input type="checkbox" name="city[]" value="Limassol" class="choosecity" />Limassol<br> 
<input type="checkbox" name="city[]" value="Larnaca" class="choosecity" />Larnaca<br> 

PHP:

if(isset($_POST[city]) && is_array($_POST[city])){ 
    foreach($_POST[city] as $checkbox){ 
     echo $checkbox . ' '; 
    } 
} 
Смежные вопросы