php 유효성 검사

<?
/*
아래는 소스이고 그 아래 사용법이...
*/
//=======================================================
class PHP_valid {
    function PHP_valid() {}

    # 팝업
    function pop_msg($msg,$back="-1") {
        echo("<script>
                alert('$msg');
                history.go('$back');
              </script>
        ");
    }

# 이메일 주소 체크 함수
function check_email($email,$name) {
if (!eregi("^[^@ ]+@[a-zA-Z0-9\-\.]+\.+[a-zA-Z0-9\-\.]", $email)) {
$this->pop_msg($name."이 형식에 맞지 않습니다."); exit;
}
}

    # php valid 체크
    function Server_Check($arr) {         
        while (list($key,$val)=each($arr)) {
            $val[1]=trim($val[1]);
            if(ereg("(^[[:space:]]+)",$val[1])||$val[1]==""){
                $this->pop_msg($val[0]."(을)를 입력하세요"); exit;
            }else if($key=='email' && $val[2]=='detail'){
                $this->check_email($val[1],$val[0]);
}
        }
    }
}
//=======================================================


//사용법--------------------------------------------------
$Valid=new PHP_valid;
$arr=array(
'writer'=>array('이름',$writer),
'passwd'=>array('비밀번호',$passwd),
    'subject'=>array('제목',$subject),
    'content'=>array('내용',$content),
    'email'=>array('이메일',$email,'detail')
    );

$Valid->Server_Check($arr);
//--------------------------------------------------------


/*
함수간에 멤버인자가 필요없기 때문에 굳이 클래스로 만들지 않아도 되지만
해방시리즈1편에 js 유효성 검사 클래스와 함께 사용하시라고 클래스로 처리했습니다.

위의 함수만 집어 넣으면 바로 적용이 되구요 객체명만 Javascript 에서 PHP_valid로 바뀌었으므로 그것만 주의하시면 됩니다..

클래스명이 둘다 어정쩡하네요..
가독성을 위해 valid_check쯤으로 바꾸시는게 좋을듯 합니다...


ps : 수정한부분은  email을 보시면 detail 이라는 인자하나를 더 추가 했습니다.. 만약 detail인자가 없다면 그냥 내용유무만 따지게 되고 있다면 형식까지 체크합니다.
값의 유무만 체킹하려면 따로 건들게 없겠지만 email같이 어떤 형식까지 체킹을 더 원하신다면... email 체킹 방법을 보여드린것처럼 해당 패턴 보시고 추가하시면 됩니다...

새해 복 많이 많이.... 받으세요...
*/

?>

댓글