Alguém poderia me ajudar!Quero criar nível de acesso - porém não estou conseguindo finalizar essa parte!

17/01/2019

0

//logar
public function logar($cracha, $senha)
{
global $pdo;
//verificar se cracha e senha estao cadastrado, se sim
$sql = $pdo->prepare("SELECT id_usuario FROM usuarios WHERE cracha = :c AND senha = :s");
$sql->bindValue(":c",$cracha);
$sql->bindValue(":s",md5($senha));
$sql->execute();

$num = $sql-> rowCount();

if($num > 0){
//acessar e verificar o nivel de acesso do usuario
session_start();
$_SESSION['cracha'] = $_POST['cracha'];
$_SESSION['senha'] = $_POST['senha'];

$verificar = $conectar->query("SELECT * FROM usuarios");
while ($linha = $verificar->fetch(PDO::FETCH_ASSOC)){
if($linha['usuarios'] == $usuarios){
$nivel = $linha['nivel'];

switch ($nivel) {
case '0':
header("location: areaPrivada.php");
break;

case '1':
header("location: cadastrar.php");
break;

default:
echo "Usuario sem acesso";
break;
}
}
}
}
}

Ocorre o erro:

Notice: Undefined variable: conectar in C:\\xampp\\htdocs\\PROGRAMA\\Classes\\usuarios.php on line 67

Fatal error: Uncaught Error: Call to a member function query() on null in C:\\xampp\\htdocs\\PROGRAMA\\Classes\\usuarios.php:67 Stack trace: #0 C:\\xampp\\htdocs\\PROGRAMA\\index.php(35): Usuario->logar('9530', '1234') #1 thrown in C:\\xampp\\htdocs\\PROGRAMA\\Classes\\usuarios.php on line 67
Baby01

Baby01

Responder

Post mais votado

19/01/2019

olá. percebi mais 2 coisas:
1. vc não declarou as variaveis do form
($cracha e $senha);
2. vc nao precisa de 2 sqls, veja abaixo:

<?php
session_start();

$pdo= // aqui conexao

$cracha=$_POST['cracha'];
$senha=$_POST['senha'];

$sql = $pdo->prepare("SELECT nivel FROM usuarios WHERE cracha = :c AND senha = :s");
$sql->bindValue(":c",$cracha);
$sql->bindValue(":s",md5($senha));
$sql->execute();

$num = $sql-> rowCount();

if($num > 0){

while ($linha = $sql->fetch(PDO::FETCH_ASSOC)){
$nivel = $linha['nivel'];
echo $nivel;
}

switch ($nivel) {
case '0':
header("location: areaPrivada.php");
break;

case '1':
header("location: cadastrar.php");
break;

default:
echo "Usuario sem acesso";
break;
}
}

?>

Fernando C

Fernando C
Responder

Mais Posts

19/01/2019

Fernando C

olá. 1. vc não fez a conexão ao banco de dados (função conectar está indefinida).
2. depois vc precisa recuperar o nivel do usuario; vc só está recuperando o id.
tente ai e qqer coisa retorne.
Responder

21/01/2019

Baby01

TOP, funcionou certinho. Muito Obrigado :)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar