前提
アンケートフォームを用いて回答を集め、回答を$answersという配列に保存する、といったプログラムを書いています。
フォームには、
・ラジオボタン
・テキストエリア
といった要素が合計20個ほど並んでおり、
途中で回答内容によってJSで表示しないようにする質問がいくつかあります。
回答内容は、POSTを用いて送信されます。
そこで、全ての質問をrequiredにするのではなく、
未回答のものは未回答であると判定した上で「NoAnswer」という値を$answersに追加したい、と考えております。
しかし、この「未回答である」と判定することが難しく、困っております。
判定は以下のコードで行なっております。
php
1foreach($single as $key=>$value){ 2 if(is_null($value) || $value == '' ){ 3 $answers[] = "NoAnswer"; 4 }else{ 5 $answers[] = $hvalue; 6 } 7
まず、テキストエリアが空白であった場合は、以下のコードによりきちんと判定して「NoAnswer」をCSVに書き込むことができます。
しかし、ラジオボタンについては、上記のコードでは未入力であることは判定されず、$answersには何も追加されません。
##試したこと
$_POSTの中身を見てみると、空白にしたtextareaの中には「string(0)」という値が入っていますが、未回答にしたラジオボタンはそもそも項目がありませんでした。
それでは、ラジオボタンについて、
php
1isset($key)==FALSE
であれば、未回答であることがわかるのではないか、と考えたのですが、
これでもうまくいきませんでした。
未回答であることを判別するには一体どうすればいいのでしょうか?
回答3件
あなたの回答
tips
プレビュー