Innanzitutto, salve..
Il mio problema riguarda l'accesso ad un area riservata, con dovuti campi nick e password.
Solo gli utenti registrati, quindi con i precedenti dati salvati su db,possono accedervi.
Lo schema è il seguente:
* index.php:
- inserimento utente e psw;
- passaggio valori inseriti, tramite POST, a login.php;
* login.php:
- recupero variabili;
- controllo dati utente con i dati sul db;
- se ok, avvia la sessione e salva i valori utente, ruolo, cartella_utente;
- reindirizzamento a main.php;
* main.php:
- controllo variabili di sessione, se impostate visualizza il contenuto della pagina, altrimenti nulla;
il mio problema è che le variabili di sessione non vengono salvate al primo login, in quanto sul main.php, viene visualizzata una pagina bianca; ma se inserisco una seconda volta utente e password, tutto funziona correttamente.
Posto il codice:
login.php
mentre nel main.phpCodice PHP:
.
.
.
if($log_user==$row['utente'] && $log_password==$row['password']){
session_start();
$utente=$row['utente'];
$ruolo=$row['ruolo'];
$cartella_utente=$row['cartella_utente'];
session_register("utente");
session_register("ruolo");
session_register("cartella_utente");
$_SESSION['utente']=$row['utente'];
$_SESSION['ruolo']=$row['ruolo'];
$_SESSION['cartella_utente']= $row['cartella_utente'];
$last=time();
$query = ("UPDATE configuration SET ultimo_accesso='$last' WHERE utente='$log_user'");
$update = mysql_query($query, $db);
header ("Location: ".$path."main.php");
exit;
}
Dov'è che sbaglio?Codice PHP:
<?
session_start();
$utente = $_SESSION['utente'];
$ruolo = $_SESSION['ruolo'];
$cartella_utente=$_SESSION['cartella_utente'];
if(isset($_SESSION['utente'])){
//visualizza pagina
}