Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal !! Como estão ?
Então, estou fazendo um sistema de login que quando um determinado usuário entra com o login e senha ele é redirecionado para uma página especifica.
Ou seja, no meu banco tem:
nome
sobrenome
login
senha
pagina
Lucas
Carlos
lucs12
123
usuario32.php
Eduardo
Lopes
Dulo00
987
usuario87.php
Porem esta dando erro, tenho certeza que é na parte do meu header:
header('Location:'.$pagina);
Meu **logar.php** esta assim:
<?php
session_start("logado"); //inicia a sessão
if(isset($_POST['logar'])){ //verifica se esta setado logar
require_once('funcoes.php');
conexao();
$sql_selecao = "SELECT * FROM usuarios WHERE login='".$_POST['login']."' AND senha='".$_POST['senha']."'";
$res_selecao = selecionar($sql_selecao); //incere a query
$linhas = mysql_num_rows($res_selecao); //verifica se a query retornou algun resultado
if($linhas != 0){
//retorno positivo da query
while($res = mysql_fetch_assoc($res_selecao)){ //coleta todos os valores do usuario
$_SESSION['nome'] = $res['nome'];
$_SESSION['sobrenome'] = $res['sobrenome'];
$_SESSION['login'] = $res['login'];
$_SESSION['senha'] = $res['senha'];
$_SESSION['email'] = $res['email'];
$_SESSION['codigo'] = $res['codigo'];
$_SESSION['pagina'] = $res['pagina'];
$_SESSION['log'] = 1;
header('Location:'.$pagina);
}
}else{
//retorno negativo da query
$_SESSION['msg'] = "Login ou senha invalidos";
header("location: login.php");
}
}else{
//se não estiver setado o campo logar
header("location: login.php");
}
?>
Alguém sabe como faço para soluciona-lo ?Bom dia @leoteixeira2
Fiz alguns ajustes no seu código, mas ainda pode melhorar muito mais.
Você tirar essa 'página' do seu banco de dados e armazenar por perfil.
Você pode primeiro fazer uma validação para ver se o usuário existe no banco de dados, retornar esse usuário do banco e comprar a senha digitada é igual a senha do Banco.
Pode usar "password_hash" e "password_verify" ou md5 para fazer a criptografia da senha.
<?php
session_start("logado"); //inicia a sessão
if(isset($_POST['logar'])){ //verifica se esta setado logar
require_once('funcoes.php');
$conn = conexao(); //Adicionado a conexão em uma variável
$login = filter_var($_POST['login'], FILTER_SANITIZE_STRING); //Filtra os dados que do form
$senha = filter_var($_POST['senha'], FILTER_SANITIZE_STRING); //Filtra os dados que do form
$sql_selecao = "SELECT * FROM usuarios WHERE login= '{$login}' AND senha= '{$senha}' LIMIT 1";
$query = mysqli_query($conn, $sql_selecao); //Executado a QUERY
$linhas = mysql_num_rows($query); //verifica se a query retornou algun resultado
if($linhas != 0){
//retorno positivo da query
$res = mysql_fetch_assoc($res_selecao);
$pagina = $res['pagina']; //Armazena o resultado que está na coluna 'pagina' no BD
switch($pagina) {
case "usuario32.php":
$_SESSION['nome'] = $res['nome'];
$_SESSION['login'] = $res['login'];
header("Location: usuario32.php");
break;
case "usuario87.php":
$_SESSION['nome'] = $res['nome'];
$_SESSION['login'] = $res['login'];
header("Location: usuario87.php");
break;
}
}
else{
//retorno negativo da query
$_SESSION['msg'] = "Login ou senha invalidos";
header("location: login.php");
}
}else{
//se não estiver setado o campo logar
header("location: login.php");
}
?>
Bom dia @leoteixeira2,
Por favor, coloca a mensagem de erro pra nós entendermos qual é o problema.
Forte abraço.