لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
كيفية ربط الكلاس بالحقول
اخواني الكرام هل هذا الكلاس صحيح ام خطأ
<?php
class input_security
{
    
    private $post;
    public function postf($post_fild)
    {
        $this->post = $post_fild;
        if ($this->post <= 10)
        {
            return $this->post;
        }
    }
    
    public function notfound ($fil)
    {

        if ($fil == '' || empty($fil))
        {
            return $this->post;
        }  
    }
       
}
?>

<form method="post">
<input type="text" name="username" />
<input type="submit" name="submit" value="Insert" />
</form>

<?php




if ($_POST['submit'])
{
    $post_username = $_POST['username'];
    $new_class = new input_security();
    if ($new_class->postf($post_username))
    {
        echo "اقل من 10 حروف";
    }else if ($new_class->notfound($post_username))
    {
        echo "فاااااااارغ";
    }

}
?>


اريد اني اعمل كلاس التحقق من الحقول وهكذا
تاريخ البداية: 13 / أغسطس / 2012 الساعة 17:9 اخر نشاط: 15 / أغسطس / 2012 الساعة 12:11 برمجه

انا لا ارى سبب انك تستعمل مثل هذه الطرق
13 / أغسطس / 2012 الساعة 17:11

انا فهمت الكلاس التاني بس المشكله متحلتش عندي وهي طريقى استخدام الكلاس في حاجه متغلبطه عندي لو عاوز اعمل تحقق لحقل اعملها ازاي واستخدمها مع حقل ازاي
15 / أغسطس / 2012 الساعة 0:0

2 إجابات
مش عاوز يظبط معايه خالص الكلاس :(

بواسطة: Mohamed.Ayoub.101
منذ: 14 / أغسطس / 2012 الساعة 23:59

تعديل: Mohamed.Ayoub.101
منذ: 15 / أغسطس / 2012 الساعة 0:3

شوف الشرح ده
وشوف الكلاس دا
class Validate_fields {
    
    var $fields = array();
    var $messages = array();
    var $check_4html = false;
    var $language;
    
    function Validate_fields() {
        $this->language = "uk";
        $this->create_msg();
    }
    function validation() {
        $status = 0; 
        foreach ($this->fields as $key => $val) {
            $name = $val['name'];
            $length = $val['length'];
            $required = $val['required'];
            $num_decimals = $val['decimals'];
            $ver = $val['version'];
            switch ($val['type']) {
                case "email":
                if (!$this->check_email($name,  $key,  $required)) {
                    $status++;
                }
                break;
                case "number":
                if (!$this->check_num_val($name,  $key,  $length,  $required)) {
                    $status++;
                }
                break;
                case "decimal":
                if (!$this->check_decimal($name,  $key,  $num_decimals,  $required)) {
                    $status++;
                }
                break;
                case "date":
                if (!$this->check_date($name,  $key,  $ver,  $required)) {
                    $status++;
                }
                break;
                case "url":
                if (!$this->check_url($name,  $key,  $required)) {
                    $status++;
                }
                break;
                case "text":
                if (!$this->check_text($name,  $key,  $length,  $required)) {
                    $status++;
                }
                break;
            } 
            if ($this->check_4html) {
                if (!$this->check_html_tags($name,  $key)) {
                    $status++;
                }
            }
        }
        if ($status == 0) {
            return true;
        } else {
            $this->messages[] = $this->error_text(0);
            return false;
        }
    }
    function add_text_field($name,  $val,  $type = "text",  $required = "y",  $length = 0) {
        $this->fields[$name]['name'] = $val;
        $this->fields[$name]['type'] = $type;
        $this->fields[$name]['required'] = $required;
        $this->fields[$name]['length'] = $length;
    }
    function add_num_field($name,  $val,  $type = "number",  $required = "y",  $decimals = 0,  $length = 0) {
        $this->fields[$name]['name'] = $val;
        $this->fields[$name]['type'] = $type;
        $this->fields[$name]['required'] = $required;
        $this->fields[$name]['decimals'] = $decimals;
        $this->fields[$name]['length'] = $length;
    }
    function add_link_field($name,  $val,  $type = "email",  $required = "y") {
        $this->fields[$name]['name'] = $val;
        $this->fields[$name]['type'] = $type;
        $this->fields[$name]['required'] = $required;
    }
    function add_date_field($name,  $val,  $type = "date",  $version = "us",  $required = "y") {
        $this->fields[$name]['name'] = $val;
        $this->fields[$name]['type'] = $type;
        $this->fields[$name]['version'] = $version;
        $this->fields[$name]['required'] = $required;
    }
    function check_url($url_val,  $field,  $req = "y") {
        if ($url_val == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            $url_pattern = "http\:\/\/[[:alnum:]\-\.]+(\.[[:alpha:]]{2, 4})+";
            $url_pattern .= "(\/[\w\-]+)*"; // folders like /val_1/45/
            $url_pattern .= "((\/[\w\-\.]+\.[[:alnum:]]{2, 4})?"; // filename like index.html
            $url_pattern .= "|"; // end with filename or ?
            $url_pattern .= "\/?)"; // trailing slash or not
            $error_count = 0;
            if (strpos($url_val,  "?")) {
                $url_parts = explode("?",  $url_val);
                if (!preg_match("/^".$url_pattern."$/",  $url_parts[0])) {
                    $error_count++;
                }
                if (!preg_match("/^(&?[\w\-]+=\w*)+$/",  $url_parts[1])) {
                    $error_count++;
                }
            } else {
                if (!preg_match("/^".$url_pattern."$/",  $url_val)) {
                    $error_count++;
                }
            }
            if ($error_count > 0) {
                $this->messages[] = $this->error_text(14,  $field);
                    return false;
            } else {
                return true;
            }
        }
    }
    function check_num_val($num_val,  $field,  $num_len = 0,  $req = "n") {
        if ($num_val == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            $pattern = ($num_len == 0) ? "/^\-?[0-9]*$/" : "/^\-?[0-9]{0, ".$num_len."}$/";
            if (preg_match($pattern,  $num_val)) {
                return true;
            } else {
                $this->messages[] = $this->error_text(12,  $field);
                return false;
            }
        }
    }
    function check_text($text_val,  $field,  $text_len = 0,  $req = "y") {
        if ($text_val == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            if ($text_len > 0) {
                if (strlen($text_val) > $text_len) {
                    $this->messages[] = $this->error_text(13,  $field);
                    return false;
                } else {
                    return true;
                }
            } else {
                return true;
            }
        }
    }
    function check_decimal($dec_val,  $field,  $decimals = 2,  $req = "n") {
        if ($dec_val == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            $pattern = "/^[-]*[0-9][0-9]*\.[0-9]{".$decimals."}$/";
            if (preg_match($pattern,  $dec_val)) {
                return true;
            } else {
                $this->messages[] = $this->error_text(12,  $field);
                return false;
            }
        }
    }
    function check_date($date,  $field,  $version = "us",  $req = "n") { 
        if ($date == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            if ($version == "eu") {
                $pattern = "/^(0[1-9]|[1-2][0-9]|3[0-1])[-](0[1-9]|1[0-2])[-](19|20)[0-9]{2}$/";
            } else {
                $pattern = "/^(19|20)[0-9]{2}[-](0[1-9]|1[0-2])[-](0[1-9]|[1-2][0-9]|3[0-1])$/";
            }
            if (preg_match($pattern,  $date)) {
                return true;
            } else {
                $this->messages[] = $this->error_text(10,  $field);
                return false;
            }
        }
    }
    function check_email($mail_address,  $field,  $req = "y") {
        if ($mail_address == "") {
            if ($req == "y") {
                $this->messages[] = $this->error_text(1,  $field);
                return false;
            } else {
                return true;
            }
        } else {
            if (preg_match("/^[0-9a-z]+(([\.\-_])[0-9a-z]+)*@[0-9a-z]+(([\.\-])[0-9a-z-]+)*\.[a-z]{2, 4}$/i",  strtolower($mail_address))) {
                return true;
            } else {
                $this->messages[] = $this->error_text(11,  $field);
                return false;
            }
        }
    }
    function check_html_tags($value,  $field) {
        if (preg_match("/[<](\w+)((\s+)(\w+)[=]((\w+)|(\"\.\")|('\.')))*[>]/",  $value)) {
            $this->messages[] = $this->error_text(15,  $field);
            return false;
        } else {
            return true;
        }
    }
    function create_msg() {
        $the_msg = "";
        asort($this->messages); 
        reset($this->messages); 
        foreach ($this->messages as $value) {
            $the_msg .= $value."<br>\n";
        }
        return $the_msg;
    }
    function error_text($num,  $fieldname = "") {
        $fieldname = str_replace("_",  " ",  $fieldname);
        switch ($this->language) {
            case "de":
            $msg[0]  = "Verbessern Sie bitte folgende Fehler:";
            $msg[1]  = "Das Feld <b>".$fieldname."</b> ist leer.";
            $msg[10] = "Das Datum im Feld <b>".$fieldname."</b> ist ung&uuml;tig.";
            $msg[11] = "Die Email Adresse im Feld <b>".$fieldname."</b> ist ung&uuml;ltig.";
            $msg[12] = "Der Wert im Feld <b>".$fieldname."</b> ist ung&uuml;ltig.";
            $msg[13] = "Der Text im Feld <b>".$fieldname."</b> ist zu lang.";
            $msg[14] = "Die internetadresse im Feld <b>".$fieldname."</b> ist ung&uuml;ltig.";
            $msg[15] = "Das Feld <b>".$fieldname."</b> enth&auml;lt html-Zeichen,  die sind nicht erlaubt.";
            break;
            case "nl":
            $msg[0] = "Corrigeer de volgende fouten:";
            $msg[1] = "Het veld <b>".$fieldname."</b> mag niet leeg zijn.";
            $msg[10] = "Het datum in veld <b>".$fieldname."</b> is niet geldig.";
            $msg[11] = "Het e-mail adres in veld <b>".$fieldname."</b> is niet geldig.";
            $msg[12] = "De waarde van veld <b>".$fieldname."</b> is niet geldig.";
            $msg[13] = "De tekst in veld <b>".$fieldname."</b> is te lang.";
            $msg[14] = "De internetadres in het veld <b>".$fieldname."</b> is niet geldig.";
            $msg[15] = "In het veld <b>".$fieldname."</b> is html-code,  dit is niet toegestaan.";
            break;
            case "dk":
            $msg[0] = "Ret følgende fejl:";
            $msg[1] = "Feltet <b>".$fieldname."</b> er tomt.";
            $msg[10] = "Datoen i feltet <b>".$fieldname."</b> er ikke gyldig.";
            $msg[11] = "E-mail-adressen i feltet <b>".$fieldname."</b> er ikke gyldig.";
            $msg[12] = "Værdien i feltet <b>".$fieldname."</b> er ikke gyldig.";
            $msg[13] = "Teksten i feltet <b>".$fieldname."</b> er for lang.";
            $msg[14] = "URL'en i feltet <b>".$fieldname."</b> er ikke gyldig.";
            $msg[15] = "Feltet <b>".$fieldname."</b> indeholder HTML-koder,  hvilket ikke er tilladt.";
            break;
            default:
            $msg[0] = "Please correct the following error(s):";
            $msg[1] = "The field <b>".$fieldname."</b> is empty.";
            $msg[10] = "The date in field <b>".$fieldname."</b> is not valid.";
            $msg[11] = "The e-mail address in field <b>".$fieldname."</b> is not valid.";
            $msg[12] = "The value in field <b>".$fieldname."</b> is not valid.";
            $msg[13] = "The text in field <b>".$fieldname."</b> is too long.";
            $msg[14] = "The url in field <b>".$fieldname."</b> is not valid.";
            $msg[15] = "Ther is html code in field <b>".$fieldname."</b>,  this is not allowed.";
        }
        return $msg[$num];
    }
}
?>
ودا كلاس للايميل والحجات دى
 
<?php
/**
* Validation Class
* v3.0
* Last Updated: Mar 28, 2011
* URL: http://www.nickyeoman.com/blog/php/104-php-validation-class
*
* Changelog:
* v2 now works with PHP 5.3 and up
* v3 is easy to intergrate into CI as a library (renamed) + bug fixes
**/
 
class Validate {
 
  /**
  * If an email is Valid it returns the parameter
  * other wise it will return false 
  * $email is the email address
  **/
  function isEmail($email) {
 
    //email is not case sensitive make it lower case
    $email =  strtolower($email);
 
    //check if email seems valid
    if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
      return $email;
    }
 
    return false;
 
  }
 
  /**
  * Checks if there are 7 or 10 numbers, if so returns cleaned parameter(no formating just numbers)
  * other wise it will return false 
  * $phone is the phone number
  * $ext if set to true return an array with extension separated
  **/
  function isPhone($phone, $ext = false) {
 
    //remove everything but numbers
    $numbers = preg_replace("%[^0-9]%", "", $phone );
 
    //how many numbers are supplied
    $length = strlen($numbers);
 
    if ( $length == 10 || $length == 7 ) { //Everything is find and dandy
 
      $cleanPhone = $numbers;
 
      if ( $ext ) {
        $clean['phone'] = $cleanPhone;
        return $clean;
      } else {
        return $cleanPhone;
      }
 
    } elseif ( $length > 10 ) { //must be extension
 
      //checks if first number is 1 (this may be a bug for you)
      if ( substr($numbers,0,1 ) == 1 ) {
        $clean['phone'] = substr($numbers,0,11);
        $clean['extension'] = substr($numbers,11);
      } else {
        $clean['phone'] = substr($numbers,0,10);
        $clean['extension'] = substr($numbers,10);
      }
 
      if (!$ext) { //return string
 
        if (!empty($clean['extension'])) {
          $clean = implode("x",$clean);
        } else {
          $clean = $clean['phone'];
        } 
 
        return $clean;
 
 
      } else { //return array
 
        return $clean;
      }
    } 
 
    return false;
 
  }
 
  /**
  * Canadian Postal code
  * thanks to: http://roshanbh.com.np/2008/03/canda-postal-code-validation-php.html
  **/
  function isPostalCode($postal) {
    $regex = "/^([a-ceghj-npr-tv-z]){1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}$/i";
 
    //remove spaces
    $postal = str_replace(' ', '', $postal);
 
    if ( preg_match( $regex , $postal ) ) {
      return $postal;
    } else {
      return false;
    }
 
  }
 
  /** 
  * Checks for a 5 digit zip code
  * Clears extra characters
  * returns clean zip
  **/
  function isZipCode($zip) {
    //remove everything but numbers
    $numbers = preg_replace("[^0-9]", "", $zip );
 
    //how many numbers are supplied
    $length = strlen($numbers);
 
    if ($length != 5) {
      return false;
    } else {
      return $numbers;
    }
  }
 
}

بواسطة: MacOS
منذ: 13 / أغسطس / 2012 الساعة 17:16

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة