• ベストアンサー

フォームを作る

hogehoge78の回答

  • ベストアンサー
回答No.2

確認画面がはさんである以上、最初の入力がされたときに値が正しいか検証をして、その後、確認画面に含まれた値が正しいか再検証を行う必要は必ずあります。(hiddenで含まれた値の書き換え、cookieで与えた場合でも書き換えがありうるし、sessionで引いた場合でも万が一ということもあるので。) そうなると、それらの値のチェックを関数なり検証用クラスなりを使って処理すると思うのですが、 index.php⇒confirm.php⇒thanks.php と遷移する場合、POST先であるconfirm.phpとthanks.phpで同じ検証用プログラムを走らせる必要がある上に、値が間違っていた場合は、confirm.phpでは、index.phpに記述したHTMLをまた含める必要があることを考えると、tom223さんの仰っているようにアクセスされるPHPファイルは一つにしてあったほうがやりやすい気はします。 -------index.php-------- <?php if(strtoupper($_SERVER['REQUEST_METHOD'] == 'POST')){ $flag = validate($_POST); //何らかの入力された文字が正しいかノチェック if(isset($_POST['confirm']) && $flag == true){ //<input type="submit" name="confirm" />が叩かれた場合 require_once '../template/confirm.html'; //入力項目確認画面 }elseif(isset($_POST['submit']) && $flag == true){ //<input type="submit" name="submit" />が叩かれた場合 require_once '../template/thanks.html'; //登録完了画面 }else{ require_once '../template/index.html'; } }else{ require_once '../template/index.html'; //HTMLファイル(通常のフォームのもの)を読み出す } ?> 簡単ですが、こんな感じでしょうか。

k17s
質問者

お礼

回答ありがとうございます。 やはりアクセスするファイルは1つにするのが良い感じなんですね。 恥ずかしながら入力チェックは確認画面でしか行ってませんでした。 これを機に最後の処理の前にもチェックするよう作成する事にします。

関連するQ&A

  • 会員ページのフォーム処理について

    ただ今会員(ログイン)ページの中の申し込みフォームを 入力画面→確認→投稿という形で作ってまして 作成手順は入力画面でポストされたものをセッションに代入、 値を保持しながら確認→投稿という形で作成しました。 申し込みフォーム自体は問題がないのですが、 例えば、入力画面から確認に行き、そこから投稿せず会社概要など 他のページに移動して再度入力画面にいくと以前入力された値が 表示されてしまいます。おそらくセッションが残ったままに なってるのが原因だとは思います。 入力画面←→確認←→投稿は値を保持させ他のページに飛んだ場合は 値を消去するやり方を教えていただけませんか? アドバイスよろしくお願いします。

    • 締切済み
    • PHP
  • フォーム処理中の文字化け

    質問させていただきます。 フォーム処理中に、能という文字などにバックスラッシュがついてしまい、困っています。 フォーム→フォーム処理内容確認→ログファイル書き込みというスクリプトを作成したのですが、フォーム入力後、フォーム処理内容確認の段階では能などにバックスラッシュはついていません。 しかし、ログファイルに書き込んだ後、ログファイルを確認してみると 能の後にバックスラッシュがついてしまいます。 これは、ログファイルの文字エンコードの問題なのかとも思ったのですが、何をしてみても取り除くことはできませんでした。 このバックスラッシュを取り除く方法を教えてもらえないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • 問い合わせフォームの作り方

    問い合わせフォームには、入力画面や入力確認画面などがありますが、作成するページは次の4つで問題ないでしょうか? (1)入力画面 (2)入力内容の確認画面、 (3)「必須項目が入力されてい」を赤字で表示した再度入力する画面 (4)送信しましたの画面 そして、上記の4つのページを作り、PHPまたはCGIを作れば良いのでしょうか? また、バリテーション(検証)機能など、付け加えておいたほうが良い機能はあるでしょうか?

    • ベストアンサー
    • CSS
  • 問い合わせフォームからのメールを受信する方法

    問い合わせフォームが次のようなフローで作成できました。 (1)入力画面→戻る画面 (2)入力画面→戻る・OK画面→問い合わせを受け付けました画面 そこで、ユーザーが入力したデータをメールソフトで受け取りたいのですが、どうすれば良いのでしょうか? 問い合わせを受け付けました画面のphpファイルで、何かメールに関するコードを入力する必要があるとは思うのですが、参考書を読んでもできませんでした・・・ お手数ですが、簡単にでも良いのでご指導お願い致します。

    • ベストアンサー
    • PHP
  • ワード「フォーム」について

    ドロップダウンフォームフィールド、 チェックボックスフォームフィールド、 テキストボックスフォームフィールドについてです。 ワードの問題集で、フォームツールバーを出しこの3つを使って文書作成をするのですが、フォーム自体、よく分かりません。 ツールバーのボタンを使い、それぞれをワード上に表示させることと、それぞれのダイアログボックスみたいなものを出すことはできました。 ・チェックボックス どうやったらチェックが入るのかもわかりません。 ・ドロップダウン 「リストボックス内の項目一覧」に項目を入力することはできたのですがそれ以外は分かりません。 ・テキストボックス どんなものか見当がつきません。 全く使ったことがない機能なのでご存知の方、お教えください。よろしくお願いいたします。

  • 【php】フォームの作成をもっと楽にできないものか

    phpで、フォームを作成する時 入力フォームの作成、データの受け渡し、バリデーション処理 これでよろしいですか?画面の作成、DBへのインサート、と 非常に手間がかかります。 フィールドが1個増えるだけでまた、また1個1個足していかないといけません。 フレームワーク(codeigniter)なんかも使ってみましたが バリデーション処理やセキュリティが補助されるだけで 基本的な手間は変わりません。 このPHPでのフォーム作成をもっと簡単に、直感的に作成できるような ツールや、ライブラリなんかはないものなのでしょうか?

    • ベストアンサー
    • PHP
  • PHPのメールフォームでメールが送られてこない

    HPスペースは http://7pm.jp/ こちらを利用しております。 PHPは http://www.xtrec.com/script_pm.htm こちらを利用しています。 PHPは作動してメールフォームが作成され、 入力して送信ボタンを押すと 正常に送られました。と出、 管理画面でログも見れるのですが メールが送られてきません・・・ (メールアドレスは間違っていません~) パーミッションは606・666・707・777全て試してみましたが 送られてきませんでした・・・(ログは全部見れました) 考えられる原因が全くわからないので 何か分かるお方いらっしゃったらよろしくお願い致します。 ちなみにもうひとつの方 http://www.xtrec.com/script_mf.htm でも同じくメールは送られてきません・・・

    • ベストアンサー
    • PHP
  • PHP版フォームメール

    メール送信フォームを管理画面で項目等を指定すれば自動で生成(HTMLを)できいくつでも簡単にフォームメールを作成できるPHP限定で探してます。 自動生成ということでフリーソフトでは流石になさそうですが最低限以下の3つを満たすシンプルなものでも構いません。どこかにありますでしょうか? ◆必須の機能 ・入力フォーム→確認画面→送信完了  の流れのフォームメール ・必須項目を設定できる ・フォーム送信後、ユーザと管理者へメールできる ・必須項目が未入力時のみ次画面でエラー画面を表示 ◆できれば欲しい機能 テキスト入力以外に、ラジオやチェックボックスやテキストエリアなども生成できる よろしくお願いします。

    • 締切済み
    • PHP
  • googleドキュメントのフォームについて

    googleのサービスで、googleドキュメントのフォーム作成機能を利用し、自サイトに埋め込んでいます。 そのフォームの送信後に、サンキューページに移動させたいのですが、やり方がわかりません。 フォームに、スクリプトを入れることが出来るまではわかるのですが、そのスクリプトに関しては 素人でわかりません。また、フォームのコピーを投稿者にも送りたいと考えています。 上記の2つが可能なのか、そして、スクリプトがわかれば教えてほしいです。 よろしくお願いします。

  • 入力フォームと同種のデータを送信するスクリプト

    パソコン(Windows XP)にActive_Perl Ver5.8.0をインストールしてPerlスクリプトを動かしています。 入力フォームのデータを受け取って処理するスクリプトが既にあるのですが、このスクリプトに入力フォームと同種のデータをループさせて繰り返し送り込むスクリプト作りたいと思っています。 やり方もしくはコード例を教えていただければと存じます。 よろしくお願いいたします。

    • ベストアンサー
    • Perl