2013-05-11 3 views
0

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

<form ....> 
    Gender:<br /> 
<input type="radio" name="sex" value="male">Male<br /> 
<input type="radio" name="sex" value="female">Female<br /> 
</form> 

Я пытаюсь это сделать, но он дает ошибку, если ни одна из переключателей не выбрана.

$selected_radio = $_POST['sex']; 
if ($selected_radio == 'male') { 
    print "Gender is male <br />"; 
} 
else if ($selected_radio == 'female') { 
    print "Gender is female <br />"; 
} 
else { 
    print "No gender selected. <br />"; 
} 
+0

Вы должны ввести '==' вместо '= ='. – zkanoca

+1

Также 'name =" sex "'! = '$ _POST ['gender']' –

+0

'isset ($ _ POST ['gender'])' – ioanb7

ответ

1

у вас есть синтаксисом ошибку в вашей операции сравнения, равно петь должны быть == вместо = = измените

if ($selected_radio = = 'male') { 

с

if ($selected_radio == 'male') { 

и вы должны сделать то же самое для

else if ($selected_radio == 'female') { 

Операторы сравнения документация here

есть также ошибка в вашей форме, ваш вход должен быть name="gender", чтобы соответствовать вашему коду $_POST['gender']

1

Вы писали = = вместо == и это была проблема

$selected_radio = $_POST['gender']; 
if ($selected_radio == 'male') { 
    print "Gender is male"."<br/>"; 
} 
else if ($selected_radio == 'female') { 
    print "Gender is female"."<br/>"; 
} 
else { 
    print "No gender selected."<br/>"; 
} 
1

У вас уже есть гендерная информация о ваших переключателях «value атрибутов. Не нужно писать их снова в строке. Ваши операторы сравнения не должны разделяться пробелом.

<?php 
    if (isset($_POST['sex'])) 
     echo "Gender is " . $_POST['sex']; 
    else 
     echo "No gender selected."; 
?> 

Или есть другое единственное решение строки:

<?php echo isset($_POST['sex']) ? "Gender is " . $_POST['sex'] : "No gender selected."; ?> 
1

также "=" ошибка

ваше имя вход "секс"

<input type="radio" name="sex" value="male"> 

и вы с просьбой указать «пол»:

$_POST['gender'] 
0

Если не установлен, он не проверяется.

if (isset($_POST['gender'])) { 
    $selected_radio = $_POST['gender']; 
    if ($selected_radio == 'male') { 
     print "Gender is male"."<br/>"; 
    } else if ($selected_radio == 'female') { 
     print "Gender is female"."<br/>"; 
    } else { 
     print "form invalid submition. CSRF maybe"; 
    } 
} else { 
    print "no gender selected"; 
} 
Смежные вопросы