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 />";
}
4

5 に答える 5

1

また、「= ="エラー

あなたの入力名は「性別」です

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

そして、あなたは「性別」を求めています:

$_POST['gender']
于 2013-05-11T11:19:02.847 に答える
1

比較演算にシンタックスエラーがあります。変更してくださいで==はなく、等号にする必要があります= =

if ($selected_radio = = 'male') {

if ($selected_radio == 'male') {

そして、あなたは同じことをするべきです

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

比較演算子のドキュメントはこちらから入手できます

フォームにもエラーがあります。入力はname="gender"コードと一致する必要があります$_POST['gender']

于 2013-05-11T11:16:08.483 に答える
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/>";
}
于 2013-05-11T11:16:35.683 に答える
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."; ?>
于 2013-05-11T11:17:25.527 に答える