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ファイル(通常のフォームのもの)を読み出す
}
?>
簡単ですが、こんな感じでしょうか。
回答ありがとうございます。
やはりアクセスするファイルは1つにするのが良い感じなんですね。
恥ずかしながら入力チェックは確認画面でしか行ってませんでした。
これを機に最後の処理の前にもチェックするよう作成する事にします。
No.4
- 回答日時:
訂正
ワークフレーム
↓
フレームワーク
後既存のフレームワークを使わないまでも自分で使いやすい枠組み作っておけば新規で作る場合も作業的には楽になります。
作成の都度新たに作っていく手間を考えると
0から始めるのと3くらいから始められるのとでは初期の枠組み作業だけでも効率が違います。
また機能を関数やクラスで分けて構築すれば他のシステムでも同じ物が使えますから楽です。
度々のアドバイス有り難うございます。
現在前回頂いた回答を参考に作業させて頂いています。
その作業過程でご指摘頂いたMVCのモデルを使用しようと思い立ったのですが又新たな壁にぶつかってしまいました。
本質問とは趣旨がずれてしまうので、本質問とは別に質問させて頂こうと思うのですが、もしよろしければご回答お願いできますでしょうか?
何より、本質問については非常に参考になりました。
ありがとうございました。
No.3
- 回答日時:
>枠組みはどのフォームも似たり寄ったりなので読み込むライブラリとテンプレートを変えるだけで使い回せそうですね。
参考になります。
まぁ簡易的にMVCぽいものを作っている感じですね。
でこの考えをもっと突き詰めて構築していくとワークフレームって感じになるでしょう。
No.1
- 回答日時:
・プログラムは基本的に一つにまとめる。
>入力→確認→確定
とあった場合、
入力は1
確認は2
確定は3
で「?p=1」などとやる。
でそれをそれぞれ分ける処理がメインとして置いておいて
処理の中身そのものは関数やクラスで別にしておく。
でフォームなどのHTMLはテンプレートエンジンをして独立させておく。
って使い方が自分は多いですかね。
回答ありがとうございます。
なるほど、処理のフローチャート的なスクリプトを作り、
中身は外部のもので埋めていく。という認識でよろしいでしょうか?
枠組みはどのフォームも似たり寄ったりなので読み込むライブラリとテンプレートを変えるだけで使い回せそうですね。
参考になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- Access(アクセス) Accessに関する質問です。 クエリーQ出勤 からフォームF出勤を作成 フォームは分割フォームで作 1 2023/05/26 08:57
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- Safari(サファリ) 大学の出欠確認でQRコードを読み取り、Googleフォームに送ってます。自分の携帯のQRコード読み取 1 2022/11/25 14:54
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
アマゾンのような評価の星を選...
-
ボタンをクリックでPHP文を実行
-
テキストリンクをPOST送信したい
-
PHP 入力フォームにて半角スペ...
-
フォームで作った送信ボタンが...
-
フォーム送信後の更新ボタンで...
-
JavaScript変数をPHPへ渡す
-
POSTデータをフォームに残す方法
-
formの外にあるチェックボック...
-
PHPの関数実行
-
laravelを利用してコントロール...
-
プログラミング言語で、使える...
-
入力フォーム→確認画面→送信画...
-
検索時の選択内容を保持する方法
-
エラーを元の画面に表示させるには
-
演算子について教えてください。
-
配列をPOSTで受けとる
-
HTMLのリンクをクリックするこ...
-
mySQLのデータを多次元配列に格...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
セッションを使わずに遷移先画...
-
アマゾンのような評価の星を選...
-
JavaScript変数をPHPへ渡す
-
フォーム送信後の更新ボタンで...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
フォームで作った送信ボタンが...
-
phpで、フォームのラジオボタン...
-
PHPでファイルアップロード時に...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
VBSのIEオブジェクトでフ...
-
Submit(送信ボタン)を押した...
-
PHPの質問:フォームから受け取...
-
POSTデータをフォームに残す方法
-
リンク先のフォームに自動的に...
-
PHPの送信フォームについての質...
-
phpのカウンタのリセット方法
おすすめ情報