A few days ago I reported a problem that was happening in the code I was using, but since I needed a lot of things, I decided to use another one. In the new code, there are the 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;
}
As for the restriction page code, 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;
}
But when I enter the user and password as they ask in the test page that I made to run the codes, the following message appears:
Notice: Undefined index: UserName in C: \ Program Files (x86) \ EasyPHP-DevServer-14.1VC9 \ data \ localweb \ system \ restrict.php on line 28
I tried to change "UserID", "UserName" and "User Level" to the name of the attributes of the table (id, name and level respectively) but I'm redirected to index and nothing happens.