

初歩的な質問ですみません。
現在、PHPで問い合わせフォームを作成しており、チェックボックスが選択されていない場合に、エラーを返す処理を行いたいです。
通常のテキストフィールドの場合は、下記の文言でエラー処理が行われるのですが、
チェックボックスが選択されているかを見るにはどうすればよいかご教示いただけないでしょうか。
ーーーーーーーーーーーーーーーー
■フォーム側
{if:$required.お名前} <p>エラー文</p> {/if:$required.お名前}
■php
// 入力必須チェック
if (isset($_POST['required'])) {
foreach ($_POST['required'] as $v) {
$tmpl->set("required.$v", false);
if (empty($_POST[$v])) {
$tmpl->set("required.$v", h($v . ERROR_REQUIRED));
$global_error[] = h($v . ERROR_REQUIRED);
$global_error_flag = true;
}
}
}
ーーーーーーーーーーーーーーーー
No.1ベストアンサー
- 回答日時:
チェックボックスのnameをどうしているかによりますね
そもそもチェックボックスはチェックしなければデータが飛ばないので
普通にnameをつけていればissetでチェックすればセットされていないという
分岐にひっかかるでしょう
また「hogehoge[]」的なカッコをつけたnameで拡張していれば
isset($_REQUEST["hogehoge"])すると同時に
is_array($_REQUEST["hogehoge"])もチェックする必要があります
その上で、foreachすればいいでしょう
例示のものでいうと
>if (isset($_POST['required'])) {
>foreach ($_POST['required'] as $v) {
となっているのは
if (isset($_POST['required']) and is_array($_POST['required'])) {
foreach ($_POST['required'] as $v) {
とするか
if (isset($_POST['required'])) {
foreach (is_array($_POST['required'])?$_POST['required']:array($_POST['required']) as $v) {
のようにしておくと汎用性があがります
requiredが配列だと確定しているのであれば、手を抜いて
if (isset($_POST['required'])) {
foreach ((array) $_POST['required'] as $v) {
という書き方でも通用します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CArrayの要素としてCStringArra...
-
配列の要素(value)に、変数を...
-
CArrayのソート
-
多次元配列の重複削除
-
PHPのmin関数、「1」以上の数値...
-
タグの中身だけを取り出す正規
-
mb_encode_numericentityでタグ...
-
PHPでDBの複数行更新について
-
array_randで要素が数字の場合...
-
Smartyでtplファイルから配列を...
-
$_SESSIONについて教えて下さい。
-
配列をmysqlに保存
-
postgresql関数をつかったレコ...
-
Resource id #3 と表示されま...
-
$_SESSIONに二次元配列を使える...
-
mb_ereg_replaceについて
-
バイナリファイルの内容を、そ...
-
禁止ワード設定
-
自動で番号を振りたい
-
チェックボックスが複数選択で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
行列
-
CArrayのソート
-
読み(あ行~わ行)ごとに分け...
-
delphi 2次元配列がわかりません
-
C言語 最大値と最小値を求めて...
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
System.String.Splitでエラー
-
PHPで10連ガチャを作成したいの...
-
verilogで、配列の一部をタスク...
-
cakephpでのトランザクション処...
-
再帰関数を用いて配列の合計を...
-
mb_encode_numericentityでタグ...
-
配列を指定した順序でソート
-
多次元配列をエンコードする関...
-
forとかで連番の変数を一気に格...
-
正規表現
-
楽天市場ジャンル検索APIで順番...
おすすめ情報