-
problemi sessioni
io uso il seguente codice per memorizzare le sessioni
session_start();
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = md5($_POST['pass']);
quando cambio pagina e richiamo la variabile $_SESSION['user'] mi ritorna una stringa vuota. Cosa puo' essere? Il sito è già da un po' su internet e fino 15 giorni fa nessun problema funzionava perfettamente, adesso niente.
La versione di php usata è PHP Version 4.4.1
Sapete aiutarmi?
-
Hai richiamato session_start() anche nella pagina successiva?
Oppure potresti non avere attivi i cookie...
-
session_start() e i cookie ci sono entrambi
-
La dichiarazione delle sessioni deve essere fatta prima di qualsiasi output. Per stampare il contenuto di una sessione ti conviene salvarla in una variabile che poi stamperai.
-
vi posto tutto il codice interessato cosi' mi spiego meglio
----index.php----------
session_start();
if($module == "login"){
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = md5($_POST['pass']);
$module='private';
}
if($module == "logout"){
$_SESSION['user'] = "";
$_SESSION['pass'] = "";
session_destroy();
$module='mainpage';
}
include("session.php");
----session.php-----
if($_SESSION['user'] != ''){
$user= $_SESSION['user'];
$result_session = connetti("SELECT * FROM ".$table_prefix."utenti WHERE nome='$user'");
$row_session = mysql_fetch_array($result_session);
if( $row_session['nome'] == $_SESSION['user'] && $row_session['pass'] == $_SESSION['pass'] && $row_session['admin'] == 1 )
{
$user_logged_in = TRUE;
$user_admin = TRUE;
}
else if( $row_session['nome'] == $_SESSION['user'] && $row_session['pass'] == $_SESSION['pass'] && $row_session['admin'] == '0' )
{
$user_logged_in = TRUE;
$user_admin = FALSE;
}
else
{
$user_logged_in = FALSE;
$user_admin = FALSE;
$user = '';
$message="Username o password errati";
}
}
else
{
$user_logged_in = FALSE;
$user_admin = FALSE;
$user = '';
$message="Username o password errati";
}
?>
Appena faccio il login mi riconosce l'utente, poi se ricarico la pagina mi perde l'informazione e devo rifare il login, come se la sessione non mi memorizzasse le variabili
-
Ho provato lo stesso codice qui su altervista e funziona. Ho notato che sul sito in questione quando carico la pagina non mi chiede di memorizzare i cookie con il PHPSESSID (cosa che qui su altervista fa). Sapete come faccio a farlo. Grazie
-
ho fatto...il server non mi creava i cookie in automatico, quindi li ho creati "a mano" e adesso funziona tutto.
-
sql dovresti sapere che non si possono scrivere messaggi consecutivamente ma usare il tasto edita!
Cmq sia, risolto->chiuso
Ciaoo!!