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