Scusate ma ho dovuto dividere il post in due parti.
Codice PHP:
/*******************
ESECUZIONE DEL LOGIN
********************/
public function esegui_login(){
// se il form di login e i sui tutti input sono stati inviati
if(isset($_POST['login']) AND isset($_POST['username']) AND isset($_POST['pass'])){
// valorizziamo delle variabili
$this->login_username = trim($_POST['username']);
$this->login_password = trim($_POST['pass']);
// criptiamo la password
$this->login_cryptpass = $this->crypt_pass($this->login_password);
// validiamo i dati (non devono essere vuoti)
$not_empty_input = $this->check_input_login();
// se la validazione è andata a buon fine
if($not_empty_input===TRUE){
// eseguiamo la query e verifichiamo se individua le credenziali
if($this->query_select_login()==TRUE){
// settiamo lo status di utente loggato
$this->set_logged($this->login_iduser);
// settiamo l'username
$this->set_username($this->login_username);
// settiamo il messaggio di successo del login
$this->message_script = 12;
return TRUE;
}
// se la query non ha trovat utenti con quelle credenziali
else{
// settiamo un messaggio di insuccesso dell'operazone
$this->message_script = 11;
}
}
}
return FALSE;
}
// verifica che gli input del login non siano vuoti
protected function check_input_login(){
if($this->empty_string($this->login_username)){
$this->message_script = 1;
return FALSE;
}
else if($this->empty_string($this->login_password)){
$this->message_script = 3;
return FALSE;
}
return TRUE;
}
// esecuzione della qeury per verificare il login
protected function query_select_login(){
$query = "
SELECT id FROM users
WHERE
username='".mysql_real_escape_string($this->login_username)."' AND
pass='".mysql_real_escape_string($this->login_cryptpass)."'";
$result = mysql_query($query) or die(mysql_error());
// se individua l'utente
if(mysql_num_rows($result)==1){
$row = mysql_fetch_array($result);
$this->login_iduser = $row['id'];
return TRUE;
}
return FALSE;
}
/***********************************
VERIFICA DELLO STATO DI LOGIN UTENTE
***********************************/
// verifica login
public function is_logged(){
return isset($_SESSION['auth']);
}
// set login
protected function set_logged($id_user){
$_SESSION['auth'] = $id_user;
return;
}
// access denied
public function access_denied(){
if(!$this->is_logged()){
header("location: ".$this->Urls['login_page']."?message=14");
exit;
}
return;
}
protected function set_username($username){
$_SESSION['username_logged'] = $username;
return;
}
public function get_username(){
return isset($_SESSION['username_logged']) ? $_SESSION['username_logged'] : '';
}
// logout
public function logout(){
session_unset();
session_destroy();
setcookie(session_name(), '', time()-42000, '/');
header("location: ".$this->Urls['login_page']."?message=13");
return;
}
/*****************************
METODO PER OTTENERE I MESSAGGI
******************************/
public function get_message(){
if(isset($_GET['message'])){
$this->message_script = $_GET['message'];
}
$key = intval($this->message_script);
if(array_key_exists($key, $this->messages)){
return $this->messages[$key];
}
return FALSE;
}
}
?>
inoltre vi chiedo come mai se completo con i dati di accesso questo codice non mi fa vedere le pagine mentre se non lo compilo con i dati di accesso me le fa vedere ma non mi fa entrare nella pagina protetta che si chiama contenutoprotetto.php
Codice PHP:
/****************** CONNESSIONE A MYSQL
******************/
protected function connessione(){
$this->conn = mysql_connect($this->host_db, $this->user_db, $this->pass_db) or die(mysql_error());
$this->selezione_db = mysql_select_db($this->name_db, $this->conn) or die(mysql_error());
return TRUE;
}
grazie di cuore ragazzi.[/PHP]