Undefined index: nome e nivel in php

25/06/2019

5

Prezados bom dia.

estou tenho um projeto onde uma vez logado, ele mostra o nome e o nivel de acesso, no entanto me encontro com este problema como mostra o titulo acima.
segue abaixo o código para melhor entendimento:

public function logar($usuario, $senha) {
global $pdo;

$sql = $pdo->prepare("SELECT nome,usuario,nivel FROM usuarios WHERE usuario = :u AND senha = :s AND ativo = 1 LIMIT 1");
$sql->bindValue(":u",$usuario);
$sql->bindValue(":s",sha1($senha));
$sql->execute();
$dado = $sql->fetch(PDO::FETCH_ASSOC);
session_start();
$_SESSION["nome"] = $dado['nome'];$_SESSION["usuario"] = $dado['usuario'];$_SESSION["nivel"] = $dado['nivel'];
$nivel = $_SESSION['nivel'];

if(isset($nivel))
{ //entrar no sistema (sessao)

switch($nivel)
{
case '3': echo "<br />"."nivel 0 confirmado!"; break;
case '1': echo "<script>window.location='modulos/comercial/home.php'</script>"; break;
case '2': echo "<script>window.location='modulos/comercial/home.php'</script>"; break;
}
return true; //cadastrado com sucesso
}
else
{ //nao foi possivel logar
return false;session_destroy();exit;
}
}

podem me ajudar??
Gratidão.
Responder

Posts

antes do session_start() coloque print_r($dado) e veja o que retorna.
Responder

25/06/2019

Leonardo

Fabiano Carvalho, ele me retorna uma array

Array ( [nome] => Leonardo Ortega [usuario] => Ortega [nivel] => 2 )
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira