- 締切済み
必須入力項目チェック
教えて下さい。 ある登録ページを作成しており、そこには必須入力項目が存在 します。 その為、確認ボタンを押した時点で必須入力チェックをかけて エラーメッセージを同じ画面に表示させようと考えていますが 何か良い方法はありますでしょうか? 簡単なサンプルを教えて頂ければ助かります。 (やはり"javascript"の方でなければならないのであれば、 それを教えて下さい) よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- jone
- ベストアンサー率42% (6/14)
ANo.3さんと同様な回答になるかもしれませんが・・・ 私の場合、PHPスクリプトは1つで、サブルーチンによって分岐処理を行っています。 また、ロジック(PHP)とビュー(画面)は極力分離して処理を行ってます。 例えば、「入力内容を確認する」ボタンを押下された時の処理は、入力チェックを行い、 エラー項目をエラーメッセージ変数に格納しておきます。 後は、そのエラーメッセージ変数の内容に応じて以下の処理に分岐させています。 ●エラーが存在しない場合 →確認画面出力。 ●エラーが存在する場合 →エラーメッセージを含む入力画面再出力。 ※入力画面、エラーメッセージを含む入力画面はエラーメッセージを表示するか否かの違 いのみの場合もあるかと思うので、共通のビュー(画面)を使用し、切り替えて表示を行っ ています。 こんな感じで如何でしょう?
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 PHPは特に「HTMLとロジックを混ぜて書ける」ために色々と誤解が発生しやすいのですが。 基本的には最低でも2本のプログラム(PHP)と二つのHTMLを用意してください。 仮に。入力画面のhtmlをinput.html、完了画面をfin.htmlとします。 一本目のプログラム「input.php」は、非常に単純です。とりあえず「input.htmlを出力する」だけでよろしいかと思います。 二本目のプログラム「fin.php」では、少々複雑な挙動をさせます。 まず入力チェック。 もしここでNGの場合、input.htmlを基準に「入力値をvalueに入れておいてあげる(除く「パスワード、クレジットカード情報などの隠匿性の高い情報」)」+「適切なエラーメッセージを出力させる」で、終了します。 入力チェックがOKなら、情報を適切に処理します。 こういった挙動をさせる場合、テンプレートエンジンなどを用いるのが大変に有効かと思われます。 あと。JavaScriptは「使わないことを前提にしたほうが無難」です。間違っても「JavaScriptでやる必要がある」なんてことはありえません。
- yambejp
- ベストアンサー率51% (3827/7415)
やったほうがユーザビリティが高いためやっているだけで javascriptでやる必要はありません。 フォームをサブミットして、受けたデータをPHPのみで検証する 方式でも十分実用に耐えうる仕組みは可能です。 PHPでチェックするのであれば、想定されるデータをもとに、 送られてきたデータをチェックするだけの話なので非常にベタな チェックプログラムですから、そんなに難しくないでしょう。 実際にご自身でソースをかいてみて詰まったところで質問なさるとよろしいかと。
- kirin_beer
- ベストアンサー率23% (163/687)
JavaScriptでやらないといけないし、PHP側でも同じ事をしなければ、そのシステムの脆弱性になってしまいます。 テキストフィールドなら document.getElementById('テキストフィールドのid属性').value に値が設定されているか見ればいいと思います。 値が無いのならば、適当な場所にエラーを表示させればいいのでは 無いでしょうか。エラーを表示する場所にdivを置いておき、 document.getElementById('divのid属性').innerHTML = "エラーだよ"; とします。 なお、PHP側では$_RESUTST['テキストフィールドのname属性']に 値があるかどうかを調べます。値があるかどうかより、値が正しい 値かどうか(例:数字を入れるところに文字が入ってないか等)を 調べる方がいいと思いますが・・・。 そんなかんじです。
お礼
参考になりました。 ありがとうございました。