2008/12/09

dllっぽいphpの使い方?

久々にまじめにプログラムを書いていたら、なんとなく形が出来た。

基本的な表示するデータは全て$_SESSIONに持つ形を取る。
例えばHTML上のとかがあれば、$_SESSION["INPUT"]["name"]といった形で保持する。

さらに、必須入力の項目とかで警告を返したいメッセージとかは$_SESSION["REPORT"]["name"]といった形で保持してみる。

すると、.phpファイルに寄らず、sessionで変数が保持されるので、破棄するタイミングをみすると色々面倒だし、アクセス範囲がグローバルだからいけないんだぞ?見たいな指摘をされそうだが、

human_regist.phpで登録フォームを表示し、human_regist_process.phpで処理(入力内容の検査)をし、結果を先の$_SESSIONに持つ。

エラーがなければ、human_regist_confirm.phpで入力内容を表示し、確認ボタンを押すと、human_regist_process.phpでさらに実際の登録処理を行い、エラーがなければ、human_regist_result.phpに移動するといった形の処理が出来た。

エラー時は呼び出し元のphpにheaderで移動し、置換対象のREPORTにwarningを表示する。

正常に進んだ後は、処理プログラムはブラウザの戻るとかで評価されないので、多重登録などの対策にいいかどうかはしらん。

ともかく、なんか表示用のプログラムと処理用のプログラムに明確に分かれた気がして気分が良い。
ご理解ご協力ありがとう御座いました。