Buongiorno a tutti,
ho un problema con un file di sessione. Le pagine funzionano perfettamente e la sessione viene creata, mantenuta e distrutta correttamente. Il problema è che il
Codice PHP:
<?php session_start()?>
viene creato direttamente dal form di login e viene utilizzato per la sessione l'id dell'utente presente in una tabella denominata utenti
Questo il codice che genera la sessione qualora i dati inseriti per il logion siano corretti:
codice:
<?php
if(!$record) { $messaggio = urlencode('Nome utente o password errati');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio"); }
else {session_start(); $_SESSION['user_id'] = $record['id'];
$messaggio = urlencode('Login avvenuto con successo');
header("location: home.php"); }
}
?>
Questo invece il file session.php che utilizzo in tutte le pagine per mantenere la sessione:
Codice PHP:
<?php session_start();
if (empty($_SESSION['user_id'])){
echo "<h1>Area riservata, accesso negato.</h1>";
echo "Per effettuare il login clicca <a href='index.php'><font color='blue'>qui</font></a>"; die;
}
$record = $_SESSION['id'] = $_REQUEST['id'];?>
ora il problema affligge l'ultima riga
Codice PHP:
$record = $_SESSION['id'] = $_REQUEST['id'];
In realtà se provo ad eliminarla, non mi funzionano più le sessioni.
questo l'errore:
codice:
PHP Notice: Undefined index: id in /test/session.php on line 7