1. creo un form in cui faccio inserire user e password (method='post');
2. eseguo un query sui dati passati dall'utente. Se la query va a buon fine, ovvero l'utente è in db, setto l'array $_SESSION con i dati cho ho estratto dalla query e faccio un redirect alla index.php. Qui richiamo una funzione che si chiama display_page, la quale include il template e se
$_SESSION è settato mostra il suo contenuto, altrimenti il form per il login
Il problema è che devo eseguire due volte la procedura di login prima che questa abbia successo.
codice:
session_start();
function login(){
global $datab, $user, $error_msg, $user_;
$user = $_REQUEST['us_email'];
$password = $_REQUEST['password'];
$con = mysql_connect($datab['host'], $datab['username'], $datab['password']) or die("could not connect: " .myqsl_error());
mysql_select_db($datab['name'], $con) or die("could not connect: " .myqsl_error());
$query = "SELECT nome, cognome, priv
FROM utente
WHERE us_email = '$user' AND us_password = '$password' ";
$res = mysql_query($query, $con) or die("Mysql error: " . mysql_error());
$user_ = mysql_fetch_array($res);
if($user_ == FALSE){
echo "<script> alert('utente non riconosciuto')</script>";
redirect("index.php",0 );
}
else{
$_SESSION['nome'] = $user_['nome'];
$_SESSION['cognome'] = $user_['cognome'];
$_SESSION['priv'] = $user_['priv'];
redirect("index.php?myact=autentica", 0 );
}
}
function display_page(){
include 'home.php';
if ( isset($_SESSION['nome']) == FALSE){
form();
}
else
utente_loggato( $_SESSION['nome'], $_SESSION['cognome'] );
}
grazie per l'aiuto