Ragazzi, nel mio sito ho un problema di sessioni non indifferente (almeno per me...). Praticamente, quando uno fa il login, nella pagina di ricezione dei dati trova questo:
Codice PHP:
<?
session_start(); //..avviamo la sessione...
$username_post=mysql_escape_string($_POST['username']);
$password_post=mysql_escape_string($_POST['password']);
//
//Controlliamo se tutti i campi sono compilati
if($_POST['username']== "" || $_POST['password'] == "" )
//Se alcuni campi non sono compilati...
{
die("Alcuni campi non sono compilati"); //...terminiamo lo script e mandiamo un errore all'utente
}
//Impostiamo la query...
$query = "SELECT COUNT(*) n FROM utenti WHERE username = '$username_post' AND password='$password_post' ";
$risultato = mysql_query($query) //...e la eseguiamo
or die("Impossibile eseguire query.
".mysql_error()); //Oppure mandiamo il solito errore
$find = mysql_fetch_assoc($risultato); //Fissiamo la riga
//se non c'è un utente con quei dati quindi login errata:
if ($find['n']==0)
{
die("Username e/o password errati"); //..mandiamo l'errore e terminiamo lo script
}
else {
$_SESSION['username'] = $username_post;
$_SESSION['password'] = $password_post;
}
?>
In tutte le altre pagine dell'area riservata, invece, vi è, come prima cosa, questo codice:
Codice PHP:
<?php
session_start ();
$username = $_SESSION['username'];
if ($_SESSION['username']=="")
die ("Non hai i diritti per accedere a questa pagina");
?>
Pra il problema nasce dal fatto che per certe pagine dell'area riservata va tutto bene, mentre per molte altre mi dice "Non hai i diritti per accere a questa pagina", come d'altronde dovrebbe fare soltanto in caso che $username fosse vuota... Avete qualche idea??