Location: PHPKode > scripts > PXAServer > pxaserver/libreria/if_use_php5/Autentica.class.php
<?
/*
  Libreria di classi per l'autenticazione con chiave privata
  Guerrieri Luca hide@address.com
*/

class Autentica {
	//Classe per l'autenticazione
	private $username;	
	private $password;
	private $check_username_result;				//bool risultato username dell'autenticazione
	private $check_password_result;				//bool risultato password dell'autenticazione
	private $link;						//il link alla connessione del database
	private $login_array;				//array risualtato dal login
	
	function Autentica (){
	//costruttore
		require('config.inc.php');    	//Richiede il file di configurazione generale
	  	$this -> error= new MSGmanager;	//Istanzia la classe dei messaggi di errore
	}
	//Metodo per effettuare il login
	function login($username,$password) {
	//prende in carico il  login ed inizia l'autenticazione
		$this->username=$username;
		$this->password=$password;
		$this->check_username();	//chiama il metodo check_username per controllare se esiste lo $username
	}

	//Metodo che controlla l'esistenza dell'utente
	private function check_username() {
	//si connette al db e controlla se l'utente esiste altrimenti rilascia un messaggio di errore
		$db = new DBconnect;
		$db -> db_type="mysql";
		$db -> db_param("localhost","root","","acms");
		$this->link= $db -> open();
		$Qm = new QueryManager;
		$Qm ->set_query('Q_username');
		$Qm ->set_placeholders(array('username'));		//imposto i nomi dei placeholders nella query come array
		$Qm ->set_value(array($this->username));		//imposto i nomi delle variabili nella query come array
		$Qr = new QueryResult($Qm ->get_dynamic_query(),"assoc",$this->link);	//rilascia un array con il risultato della query eseguita
		$this-> login_array=$Qr->result;
		$db ->close($this->link);
		if ((!is_array($this-> login_array))||(is_null($this-> login_array))){
	   		print ($this->error->print_error('Autentica: attenzione il risultato non è un array o è nullo')); 
	  	}else {
			if (count ($this->login_array)>0){
				$this->set_check_username_result(true);		//username buono
			}else {
				$this->set_check_username_result(false);		//username no buono	
			}
		}
	}
	//Metodo che controlla se la password inserita è giusta
	private function check_password($password){
		//Inserire il controllo della password criptata 	
	
		if ($this->password == $password){
			//la password è giusta
			return $this->set_check_password_result(true);
		}else {
			//la password non è giusta
			return $this->set_check_password_result(false);
		}
	}
	//Metodo che rilascia il risultato dell'autenticazione
	public function get_check_username_result(){
		return $this->check_username_result;
	}
	//Metodo che imposta il risultato dell'autenticazione
	private function set_check_username_result($result){
		$this->check_username_result=$result;
	}
	//Metodo che imposta il risultato dell'autenticazione
	private function set_check_password_result($result){
		$this->check_password_result=$result;
	}	
	//Metodo che rilascia il risultato dell'autenticazione
	public function get_check_password_result(){
		return $this->check_password_result;
	}
	//Metodo che esegue le operazioni in seguito all'esito del tentativo di login
	public function login_result (){
										//avviamo una Sessione
		if ($this->get_check_username_result()==true){		//login con successo
			//lo username esiste
			/*
			foreach (($this->login_array) as $key=>$valore){
				foreach ($valore as $key=>$val){
					echo "$key=>$val.<br>";
				}
				echo "$key=>$valore.<br>";
			}
			*/
			//controlliamo se la password è giusta
			$this-> check_password(($this->login_array[0]['password']));
			if ($this -> get_check_password_result()){
				//si sei proprio tu!!!
				//Invochiamo LOGManager per scrivere il risultato	
				//Invochiamo Sessione per impostarla con lo username ed il livello
				//$ses -> set_session_var("username",$this->login_array[0]['username']);
				//$ses -> set_session_var("level",$this->login_array[0]['level']);	
				return true;
			}else {
				//username giusto ma password sbagliata .. info da usare per i log
				return false;	
				//Invochiamo LOGManager per scrivere il risultato
			}
		}else {										//login fallito	
			//lo username inserito non esiste
			//Invochiamo LOGManager per scrivere il risultato
			return false;
		}
	
	}
	
}
?>
Return current item: PXAServer