کلاس جهت کنترل مقادیر ارسالی از فرم های شما

Allahparast

Member
سلام به دوستان گل یک کلاس نوشتم واسه کنترل مقادیر ارسالی فرم :rose:
این کلاس :
PHP:
/**
 * Object
 *
 * @package Portal
 * @author Allahyar Allahparast
 * @copyright 2010
 * @version $Id$
 * @access public
 */
class Object{
    public $empty; 
    public $input;
    public $confined;
    public $keylimit;
    public $method;
    function frm($method='post', $Submit,$input=array(),$limit=array()){
        if(!isset($_REQUEST[$Submit])){
            
        }
        $this->method=$method;
        $this->input=$input;
        
        foreach($this->input as $value =>$key){
            $this->keylimit[]=$value;
            if($this->method=='post') $methodget=$_POST[$value]; else $methodget=$_GET[$value];
                if(empty($methodget) AND isset($methodget)){
                        $this->empty[$value]=$key;
                }
            
        }
            $i=0;
            foreach($limit as $value =>$key){
                if($this->method=='post') $methodget=$_POST[$this->keylimit[$i]]; else $methodget=$_GET[$this->keylimit[$i]];
                    $number=explode('|',$value);
                    if(strlen($methodget)<$number[0] || strlen($methodget)>$number[1]){
                            $this->confined[$value]=$key;
                    }
            ++$i;    
            }
        
    }
    
    function emission(){
        if((count($this->empty)+count($this->confined))<=0) return true; else    return false;         
    }
    function warning(){
        if(count($this->empty)>0){
            foreach($this->empty as $value =>$key){
            echo $key."<br>";
            }
        }
            if(count($this->confined)>0){
                foreach($this->confined as $value =>$key){
                $result.= $key."<br>";
                }
                return $result;
            }
    }
}
اینم یک سمپل :
PHP:
echo <<<HTM
<form method="post">
<label>your name:</label><input type="text" name="name"><br>
<label>your last name:</label><input type="text" name="lname"><br>
<label>your age:</label><input type="text" name="age"><br>
<label>your favorit:</label><input type="text" name="favorit"><br>
<input type="submit" name="test" value="Send">
</form>
HTM;
    $obj=new Object();
    $obj->frm('post','test',array(
        "name"=>"نام خود را وارد کنید",
        "lname"=>"نام خانوادگی خود را وارد کنید",
        "age"=>"سن خود را وارد کنید",
        "favorit"=>"علاقه مندیهای خود را وار کنید",
        "favorit2"=>"11علاقه مندیهای خود را وار کنید"
            ),array(
            '6|17'=>"نام شما نباید از 6 کاراکتر کوچکتر و از 17 کاراکتر بیشتر باشد ",
            '4|10'=>"نام خانوادگی شما نباید از 4 کاراکتر کمتر و از 10 کارکتر بیشتر باشد ",
            )); // Big | small
    if($obj->emission()==true)    echo "valid filde :-)"; else echo $obj->warning();



 

Allahparast

Member
راستی دوستان فراموش کردم بگم این کلاس مالتی خطاهای فرم رو هم نمایش میده مثلا سه تا فیلد خطا داره خطای سه تا فیلد فرم رو نمایش میده و میتونید تعداد کارکترهای ورودی رو هم کنترل کنید :rose:
روش استفاده رو هم اگر دوستان بلد نشدن توضیح بدم !
 

ziXet

مدیر انجمن PHP/MYSQL
خیلی عالی بود
اگه امکان چک کردن مثلا E-Mail یا کد پستی و ... هم داشته باشه به نظرم بهتر میشه.
 

جدیدترین ارسال ها

بالا