![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
初心者です。よろしくお願いします。
<form></form>の送信時の確認作業で困っています。
送信される前にチェックボックスにチェックがされていない場合エラーを出したいのですが、一つだった場合は
if($_POST[xxx] == ""){
エラー
}
とすれば簡単にできるのですが、
チェックボックスが100個ほどあった場合どのような書き方をすれば良いのでしょうか。
100個の内一つでもチェックがされていればOKとしたいのです。nameの値は1から順に100まで振ってあります。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
melllさん、こんにちは。
<input type="checkbox" name="name1">
<input type="checkbox" name="name2">
となっている場合は
<?php
$i = 1;
while(! isset($_POST["name{$i}"])) {
if($i == 100) { エラー }
$i++;
}
チェックボックスの値は選択されていなければデータが送信されません。
ですので、name1~name100としている場合は、データが送信されているか
どうかを1から順番にチェックし、100まで送信されていなければ初めて
エラーを出すことができます。
チェックボックスが多ければ多いほど処理に時間がかかります。
<input type="checkbox" name="name[1]">
<input type="checkbox" name="name[2]">
となっている場合は
<?php
if(! isset($_POST['name'])) { エラー }
//nameというデータが送信されていない
//if(! isset($_POST['name'])) {
// エラー
//} else {
// //nameが配列ではない
// if(! is_array($_POST['name'])) {
// エラー
// //nameのうち1つもチェックされていない(配列が空)
// } else if(count($_POST['name']) == 0) {
// エラー
// }
//}
?>
先ほども書きましたが、チェックボックスの値は選択されていなければデータが送信されません。
この例ではnameを配列(name[])としているため受取り側では配列として処理できます。
よって
「nameが送信されている=少なからず1つはチェックされている」
ということになります。
しっかりとチェックしたい場合はコメントにしている方を使った方が
良いかもしれません。
No.1
- 回答日時:
例えば
<form name="aho" action="aho.php" method="post">
<input type="baka[]" value="1">
<input type="baka[]" value="2">
<input type="baka[]" value="3">
<input type="baka[]" value="4">
・・・・・
<input type="baka[]" value="100">
<input type="submit" value"押して">
</form>
だったら
~aho.php~
if( count($_POST["baka"]) <= 0 ){
echo "1個はえらんでよ!!";
}
みたいにすればいいんじゃないですか?
ありがとうございます。
value値ではなかったのですが、countでのチェックの方法も知りませんでしたので勉強になりました。
ありがとうござました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBの値をチェックボックスに反...
-
入力フォーム→確認画面→送信画...
-
phpで分からないエラーが出てし...
-
画面が更新されてもチェックボ...
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
チェックボックスのvalueを連結...
-
配列をhiddenで
-
PHPの関数実行
-
<input type="hidden" >で配列...
-
入力した部分を表示させたまま...
-
phpとデータベース
-
PHPのページ間による配列の受け...
-
複数選択の方法が分からないの...
-
PHP ボタンが押されたら処理を...
-
氏名をあいうえお順に並べて行...
-
HTMLのリンクをクリックするこ...
-
PHP初心者です。何処がエラーな...
-
複数のチェックボックスの確認
-
PHPで、ボタンを押すと同じペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
パラメーターを隠す
-
フォームへの前回入力値をクリ...
-
PHPで画像の渡しが上手く行きま...
-
フォームボタンを押すたびに数...
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
PHPの関数実行
-
テキストボックスに初期値を入れる
-
入力した部分を表示させたまま...
-
phpで分からないエラーが出てし...
-
入力フォーム→確認画面→送信画...
-
画面が更新されてもチェックボ...
-
Javascript→PHPに...
-
配列をhiddenで
おすすめ情報