![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?5a7ff87)
初歩的な質問ですみません。
現在、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で質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- 英語 「名詞+形容詞/現在分詞/過去分詞+to不定詞の副詞的用法」の語順について 7 2022/09/22 05:27
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
再帰関数を用いて配列の合計を...
-
php で1から100までの素数の表...
-
PHPでCSVを出力するさいに、ル...
-
verilogで、配列の一部をタスク...
-
配列の添え字が小数だとどうなる?
-
fgetc関数について
-
mb_encode_numericentityでタグ...
-
CArrayの要素としてCStringArra...
-
C言語の配列をPush(追加)する...
-
[0];[1];ですが、配列の要素か...
-
XMLとの連携でノードの長さを取...
-
Texでの数式
-
多次元配列をソートする綺麗な...
-
C言語で全角文字の扱いについて
-
PHP5で配列の初期宣言の書き方...
-
特定の文からメールアドレスの...
-
配列の初期化
-
PHPとMySQLで100万件のデータを...
-
配列の比較
-
Latexの数式
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
C言語 最大値と最小値を求めて...
-
行列
-
読み(あ行~わ行)ごとに分け...
-
配列の要素(value)に、変数を...
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
php で1から100までの素数の表...
-
【PHP】配列のキー名の修正は可...
-
Perlで重複行を削除したい
-
fgetc関数について
-
CArrayのソート
-
ファイルの書き込みについて教...
-
配列の添え字が小数だとどうなる?
-
PHPのmin関数、「1」以上の数値...
-
forとかで連番の変数を一気に格...
-
delphi 2次元配列がわかりません
おすすめ情報