Olá a todos,
Estou com um problema no meu cadastro de usuário.
A parte de cadastrar está sendo realizada corretamente e meu login também, o meu problema está é que tenho que cadastrar em uma tela, depois entrar em outra para validar e acessar.
Gostaria que quando eu realizasse o cadastro já valida-se e entrasse direto, sem precisar ter que entrar na outra pagina e rodar o login.
Segue meu cadastro que está funcionando:
//--Insere Registro
if(isset($_POST['cadastrar'])){
@$usuario = trim(strip_tags($_POST['usuario']));
@$senha = trim(strip_tags($_POST['senha']));
@$nivel_acesso = trim(strip_tags($_POST['nivel_acesso']));
$insert = "INSERT INTO cad_usuario (usuario, senha, nivel_acesso)
VALUES (:usuario, :senha, :nivel_acesso)";
try{
$result = $conexao->prepare($insert);
$result->bindParam(':usuario', $usuario, PDO::PARAM_STR);
$result->bindParam(':senha', $senha, PDO::PARAM_STR);
$result->bindParam(':nivel_acesso', $nivel_acesso, PDO::PARAM_STR);
$result->execute();
$contar = $result->rowCount();
if($contar>0){
echo '<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Sucesso!</strong> O Usuario foi Cadastrado!</div>';
$_SESSION['autenticado'] = true;
}else{
echo '<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Erro ao cadastrar!</strong> Não foi possível cadastrar o Usuario.</div>';
}}catch(PDOException $e){
echo $e;
}}
}
}
Segue meu validador do usuário cadastrado que está funcionando:
<?php
session_start();
include_once "connection/conecta.php";
$usuario = new Usuario();
try {
if($usuario->confere($_POST['usuario'],$_POST['senha'])) {
$_SESSION['autenticado'] = true;
$_SESSION['usuario'] = $_POST['usuario'];
header('location: principal.php');
} else {
$_SESSION['autenticado'] = false;
include_once "index.php";
exit("<div class='alert alert-danger col-sm-12'>Usuário ou senha incorretos. Verifique</div>");
}
} catch(PDOException $p){
echo "Ocorreu um erro inesperado: ". $p->getMessage();
}
?>
Segue minha pagina principal aonde valida a $_SESSION['autenticado'] = false;
Mas só valida se passar na pagina index e passar pela validação a cima.
<?php
require_once("connection/conecta.php");
ob_start();
session_start();
if (@!$_SESSION['autenticado']){
include_once "index.php";
exit("<div class='alert alert-danger col-sm-12'>Para acessar o sistema você deve efetuar login</div>");
}
$logado = $_SESSION['usuario'];
$sql = "SELECT * from cad_usuario WHERE usuario = '$logado' and situacao = 'A'";
try{
$result = $conexao->prepare($sql);
$result->execute();
$contar = $result->rowCount();
if($contar =1){
$loop = $result->fetchAll();
foreach ($loop as $show){
$userLogado = $show['usuario'];
$senhaLogado = $show['senha'];
$nivelLogado = $show['nivel_acesso'];
}
}
}catch (PDOWException $erro){ echo $erro;}
?>