[PHP-users 14181] (無題)

php-users @ php.gr.jp php-users@php.gr.jp
2003年 3月 23日 (日) 02:59:40 JST


お世話になります、甲斐です宜しくお願いします。
エラー処理の事で皆様に御相談させて下さい

おこないたい処理としては

WEB上でクライアント側からID、パスワードを入力してもらう。

入力エラーが発生した場合エラーメッセージを表示して再度入力画面に戻る。

入力エラーが無ければDBへ接続。

DB接続中エラーが発生した場合エラーメッセージを表示して再度入力画面に戻る。

DBを検索して入力されたデータの整合性をチェックする。

DBのデータと入力したデータが不整合な場合エラーメッセージを表示して再度入力画面に戻る。

上記の一連の処理が正しく行なわれた場合、DBを切断してメモリーを開放して、他のページへ飛ぶ。

処理の流れとしてはこの様なものです、ここで全体を眺めますと
「エラーメッセージを表示して再度入力画面に戻る。」という処理が3回出てまいります、
この処理をクラス化して行なう場合、エラーメッセージを表示して「再度入力画面へ戻る」と云う
処理がうまくいきません、それからDBへ接続する以前では、エラーメッセージの表示は出来るのですが、
一度DBへ接続してしまいトランザクションを開始した後ではあえて明示的にexist等と処理を中断する
コードを記入していないにも拘わらずはエラーメッセージを表示したままで画面が止まってしまい、
処理が中断してしまいます、もう一度入力画面へ戻るためにはブラウザの戻るボタンを押さなければ
ならず私の意図することではありません。

以下がエラー処理をクラス化したプログラムです。
「エラーメッセージを表示して再度入力画面に戻る。」という処理を他の、プログラムの何処からでも
処理ができないものでしょうか、また一度DBへ接続してしまいトランザクションが開始されてから
入力画面へ戻る場合一度通信を切断してからではないと処理できないものなのでしょうか?
宜しくご指導お願いいたします。

httpd-2.0.40-11
postgresql-7.2.2-1
php-4.2.2-8.0.5

<?php
require_once("HTML/Table.php");

class Input_Error {

	var $error_flg;
	
	function Input_Error() {
		$this->error_flg = false;
	}

	function callerror($msg, $exit=false) {
		$this->error_flg = true;
		$table = new HTML_Table('border="0" cellpadding="5" cellspacing="3"');
		$table->setCellAttributes(0, 0, 'class="error"');
		$table->setCellContents(0, 0, $msg);
		$table->display();
		if ($exit) {
			exit;
		}
	}
}
?>



PHP-users メーリングリストの案内