Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

VictorPHP

Fazendo select com Session

Recommended Posts

Gente estou tentando fazer um select , pesquisando somente os usuários que estão no nível logado. Depois do WHERE aparece o tipo , mas nao faz o select geral. Grato por uma ajuda.

 

Codigo do Perfil :

<?php
session_start(); 
$id = $_SESSION['nivel']; //OK
 
$sql = "select * from usuario WHERE tipo_usuario = '$id'";
echo $sql;
 
 
 
?> 

Codigo do login :

<?php
 
if(isset($_POST['logar']))
{
 
$sql = "select tipo_usuario from usuario where email = '".$_POST['email']."' and senha = '".$_POST['senha']."'";
 
$sql = mysqli_query($conexao,$sql);
 
$result = mysqli_fetch_array($sql);
 
//$result = mysqli_result($sql,0,'tipo_usuario');
if($result['tipo_usuario'] == 'USU')
{
$_SESSION['nivel'] = 'USUARIO';
header("Location: userindex.php");
}
else if($result['tipo_usuario'] == 'MOD')
{
$_SESSION['nivel'] = 'MODERADOR';
header("Location: moderadoresindex.php");
}
else if($result['tipo_usuario'] == 'ADM')
{
$_SESSION['nivel'] = 'ADMINISTRADOR';
header("Location: admindex.php");
}
ELSE
{
echo "<script> alert('Usuario sem permissao!'); </script>";
}
 
 
}
 
?>
  
Tabela do usuario no mysql :

 

CREATE TABLE usuario(
id INTEGER UNSIGNED AUTO_INCREMENT NULL,
nome VARCHAR(100) NOT NULL,
CPF VARCHAR(14) NULL,
CNPJ VARCHAR(18) NULL,
email VARCHAR(100) NOT NULL,
senha VARCHAR(7) NOT NULL,
chave VARCHAR(255) NULL,
validacao BOOLEAN NOT NULL,
tipo_usuario VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem um mapeamento [de -> para] bem estranho:

$result['tipo_usuario'] == 'USU' -> $_SESSION['nivel'] = 'USUARIO';
$result['tipo_usuario'] == 'MOD' -> $_SESSION['nivel'] = 'MODERADOR';
$result['tipo_usuario'] == 'ADM' -> $_SESSION['nivel'] = 'ADMINISTRADOR';
Ai é lógico que a a outra query não vai bater, pq tem uma coisa na sessão, e outra totalmente diferente na tabela.

 

Que tal fazer assim:

$_SESSION['nivel'] = $result['tipo_usuario'];
ai sim uma query vai fazer sentido, pois você estará guardando na sessão o que realmente tem na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem um mapeamento [de -> para] bem estranho:

$result['tipo_usuario'] == 'USU' -> $_SESSION['nivel'] = 'USUARIO';
$result['tipo_usuario'] == 'MOD' -> $_SESSION['nivel'] = 'MODERADOR';
$result['tipo_usuario'] == 'ADM' -> $_SESSION['nivel'] = 'ADMINISTRADOR';
Ai é lógico que a a outra query não vai bater, pq tem uma coisa na sessão, e outra totalmente diferente na tabela.

 

Que tal fazer assim:

$_SESSION['nivel'] = $result['tipo_usuario'];
ai sim uma query vai fazer sentido, pois você estará guardando na sessão o que realmente tem na tabela.

 

Willian grato por responder , mas na verdade esse mapeamento estranho funciona , pois consigo escrever o tipo de usuario em outra pagina pegando pela SESSION.

 

Nao sei se me expressei mal, mas quero saber como fazer a pesquisa no banco, pegando todos os usuarios que possuirem o mesmo tipo de usuario -- > WHERE = session Tipo_usuario

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se vc não fizer o mapeamento, vc conseguirá fazer a query.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.