HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/xampp/htdocs/quiz/lib/validations.php
<?php

class validations {

    var $is_valid = true;
    var $_event;
    var $controls;
    var $modes;
    var $errmsgs;
    var $errors;
    var $values;

    var $i = 0;

    public function validations($event)
    {
        $this->_event = $event;
    }

    public function AddValidator($control_to_validate, $validation_mode, $errmsg, $value_to_compare)
    {
        $this->values[$this->i] = $value_to_compare;
        $this->controls[$this->i] = $control_to_validate;
        $this->modes[$this->i] = $validation_mode;
        $this->errmsgs[$this->i] = $errmsg;
        $this->i++;
    }

    public function Check()
    {        
        if(isset($_POST[$this->_event]))
        {
            $this->is_valid = true;            
            for($i=0;$i<count($this->controls);$i++)
            {
                switch ($this->modes[$i])
                {
                    case "empty":                        
                        if(strlen(trim($_POST[$this->controls[$i]]))==0)
                        {
                           $this->errors[$this->controls[$i]] = $this->errmsgs[$i];
                           $this->is_valid = false;
                        }
                        break ;
                    case "numeric":
                        if(!is_numeric(trim($_POST[$this->controls[$i]])))
                        {
                            $this->errors[$this->controls[$i]] = $this->errmsgs[$i];
                            $this->is_valid = false;
                        }
                        break;
                    case "notequal":
                        if(trim($_POST[$this->controls[$i]])==$this->values[$i])
                        {
                            $this->errors[$this->controls[$i]] = $this->errmsgs[$i];
                            $this->is_valid = false;
                        }
                        break;
  		    case "email":
                        if(strlen(trim($_POST[$this->controls[$i]]))==0 || validations::VerifyEmail(trim($_POST[$this->controls[$i]]))==false)
                        {
                            $this->errors[$this->controls[$i]] = $this->errmsgs[$i];
                            $this->is_valid = false;
                        }
                        break;
		    case "an":
                        if(strlen(trim($_POST[$this->controls[$i]]))==0 || validations::IsAlphanumeric(trim($_POST[$this->controls[$i]]))==false)
                        {
                            $this->errors[$this->controls[$i]] = $this->errmsgs[$i];
                            $this->is_valid = false;
                        }
                        break;

                }
            }
        }
    }

    public function IsValid()
    {
        $this->Check();
        return $this->is_valid;
    }

    public function GetMsgs()
    {
        $text = "";        
        foreach($this->errors as $key=>$value)
        {
            $text.=$value."\n";
        }
        return $text;
    }

    public function DrowJsArrays()
    {
        $js = "<script language=javascript>";
        $controls="";
        $modes="";
        $errmsgs="";
        $values="";
        for($i=0;$i<count($this->controls);$i++)
        {
            $controls.=",'".$this->controls[$i]."'";
            $modes.=",'".$this->modes[$i]."'";
            $errmsgs.=",'".$this->errmsgs[$i]."'";
            $values.=",'".$this->values[$i]."'";
        }
        $js.="var controls = new Array(".substr($controls,1).");";
        $js.="var modes = new Array(".substr($modes,1).");";
        $js.="var errmsgs = new Array(".substr($errmsgs,1).");";
        $js.="var values = new Array(".substr($values,1).");";
        $js.="</script>";
        return $js;
    }
    
    public static function VerifyEmail($email)
    {
	if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
	{
   		return FALSE;
	}
	return true;
    }

    public static function IsAlphanumeric($inputtxt)
    {
	if (!ctype_alnum($inputtxt))
	{
   		return FALSE;
	}
	return true;
    }

}
?>