0
A few days ago I reported a problem that was happening in the code I was using, but as it lacked many things I decided to use another. In the new code, there are variables to save the session, as below:
if (mysql_num_rows($query) != 1) {
// Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
echo "Login inválido!"; exit;
} else {
// Salva os dados encontrados na variável $resultado
$resultado = mysql_fetch_assoc($query);
// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $resultado['id'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['nivel'];
// Redireciona o visitante
header("Location: restrito.php"); exit;
}
Already the code of the restriction page, there are the following codes:
if (mysql_num_rows($query) != 1) {
// Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
echo "Login inválido!"; exit;
} else {
// Salva os dados encontrados na variável $resultado
$resultado = mysql_fetch_assoc($query);
// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $resultado['id'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['nivel'];
// Redireciona o visitante
header("Location: restrito.php"); exit;
}
However when entering user and password as requested on the test page I did to run the codes, the following message appears:
Notice: Undefined index: Usuarionome in C: Program Files (x86) Easyphp-Devserver-14.1VC9 data localweb sistema restrito.php on line 28
I tried to change "Usuarioid", "Usuarionome" and "Usuarionivel" to the name of the attributes of the table (id, name and level, respectively) but I am redirected to the index and nothing happens.
$_SESSION
is a superglobal then, theoretically, it will always be set. It makes no sense to useisset
in it. It would only givesession_start
without even if– fernandosavio