
【PHPチェック】ラジオボタンが未入力である場合のエラーメッセージ表示
ラジオボタンのエラーメッセージの表示について調べています。
そこで、以下のURLにやり方が載っていたので、
https://teratail.com/questions/171999
このURLのベストアンサーの所のコード(付属画像の部分) をカスタマイズして 、あと、自分の書いたHTML5のRadioボタンの所にコードを足してみたのですが、エラーメッセ―が表示されないどころか、同意するしないのラジオボタンが2つ同時に選択できるように、なってしまうというありさまで困っています。
何がしたいかというと、
ラジオボタンの同意ボタンのエラーメッセージを表示させたいのですが、
例えば、下のコード(自分のコード)は「同意する」というボタンに初めからチェックが入っているのですが、もし、相手が「同意しない」を選択したときに「送信ボタン」を押したときに、”同意できない場合は本サービスをご利用いただけません”というエラーメッセージを表示したいのです。
どうしたらよいでしょうか?困っています。
以下は自分が書いたコードになります。1部はカットしています。
<?php
session_start();
if(isset($_SESSION['name'])){
$name = $_SESSION['name'];
}
$_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(48));
$token = htmlspecialchars($_SESSION['token'], ENT_QUOTES);
$flg=($_SERVER["REQUEST_METHOD"]=="POST");
$hogehoge=filter_input(INPUT_POST,"hogehoge");
$err_msg['hogehoge'] =($flg and is_null($hogehoge))?'利用規約に同意して頂けない場合は本サービスのご利用はお控えください。':'';
var_dump([$flg,$hogehoge,]);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset ="utf-8">
<link rel="stylesheet" href="kiyaku.css">
<title></title>
</head>
<body>
<form action ="hpform3.php" method ="post">
<input type ="hidden" name ="token" value ="<?php echo $token ?>">
<table>
<tr>
<th>名前:</th><td><?php echo $name; ?></td>
</tr>
</table>
<section>
<label class="radio_text">
<input type="radio" name="douisuru" value="hoge" checked>同意する
</label>
<label class="radio_text">
<input type="radio" name="hogehoge" value="hoge">同意しない
<span><?=$err_msg['hogehoge'];?></span>
</label>
</section>
<table>
<tr>
<td colspan="2"><input type ="submit" name="submit"value ="送信する"></td>
</tr>
</table>
</form>
<p><a href="form1.php?action=edit">入力画面へ戻る</a></p>
</body>
</html>

No.1ベストアンサー
- 回答日時:
こんな感じです
<?PHP
$flg=($_SERVER["REQUEST_METHOD"]=="POST");
$age=filter_input(INPUT_POST,"age");
$sex=filter_input(INPUT_POST,"sex");
$doui=filter_input(INPUT_POST,"doui");
$err_msg['age'] =($flg and is_null($age))?'年齢を入れてね':'';
$err_msg['sex'] =($flg and is_null($sex))?'性別を入れてね':'';
$err_msg['doui'] =($flg and (is_null($doui) or $doui!=="1"))?'同意しないなら知らん':'';
var_dump([$flg,$age,$sex]);
?>
<form method="post">
<p>
<label><input type="radio" name="age" value="under18">18歳未満</label>
<label><input type="radio" name="age" value="over18">18歳以上</label>
<span><?=$err_msg['age'];?></span>
</p>
<p>
<label><input type="radio" name="sex" value="male">男性</label>
<label><input type="radio" name="sex" value="female">女性</label>
<span><?=$err_msg['sex'];?></span>
</p>
<p>
<label><input type="radio" name="doui" value="1" required>同意する</label>
<label><input type="radio" name="doui" value="" required>同意しない</label>
<span><?=$err_msg['doui'];?></span>
</p>
<input type="submit" value="送信">
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
PHPで訪問回数を表示するカウン...
-
PHPのエラーの解消法について教...
-
c言語 文字 - '1'+26
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
配列をhiddenで
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
フォームボタンを押すたびに数...
-
PHPで、ボタンを押すと同じペー...
-
同じページでフォームデータを...
-
ラジオボタンをsessionで使いたい
-
フォームでのリセットを使う方法
-
POSTやGETの変数をフォーム無し...
-
HTMLフォームで複数選択のチェ...
-
PHPで画像の渡しが上手く行きま...
-
アップロードの際にファイルパス
-
テキストボックスに初期値を入れる
-
フォームへの前回入力値をクリ...
-
HTMLのリンクをクリックするこ...
-
フォームのテキストボックスに...
-
画面が更新されてもチェックボ...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
おすすめ情報