Velocemente osservo:
nella prima pagina che hai postato:
codice:
$link = mysql_connect($db_host, $db_user, $db_pass, $db_name);
$rich = "SELECT nome , pwd , id , classe , user FROM utenti
WHERE user = '$user' AND pwd = '$pwd' ";
$query = mysql_db_query ($db_name, $rich);
$row = mysql_num_rows($query);
$riga = mysql_fetch_object($query);
....
....
ecc.
Tutto moolto discutibile.
mysql_connect se ne fa nulla di $db_name.
mysql_db_query e' deprecato.
perche' vai ad estrarre user e pwd se gia' li hai. Se li trova e' perche' sono uguali. (appena parlato di questo in un recente post)
Se controlli le righe che estrai questo lo devi fare prima di valorizzare $_SESSION e non dopo.
Questo perche' se non hai riscontro valorizzi comunque $_SESSION['confermato'] con un bel 1, vanificando tutto il controllo.
Forse sarebbe piu' opportuno cosi':
codice:
if($row == 1 ){
$_SESSION['utente'] = $riga->id;
$_SESSION['classe'] = $riga->classe;
$_SESSION['nome'] = $riga->nome;
$_SESSION['confermato'] = 1;
// Carica amministrazione (gestione.php)
} else{
// Ritorna alla login
}