0
I am practicing PHP.
I’m setting up an admin panel with login screen.
I have my index.php page which is the login (EMAIL AND PASSWORD).
After logging in, direct the administrative page.php
The detail is that if the user type www.seusite.com.br/admin.php, he goes straight to the page.
I have a valida.php page that creates user access level
<?php
session_start();
//Incluindo a conexão com banco de dados
include_once("conecta.php");
//O campo usuário e senha preenchido entra no if para validar
if((isset($_POST['email'])) && (isset($_POST['senha']))){
$usuario = mysqli_real_escape_string($con, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
$senha = mysqli_real_escape_string($con, $_POST['senha']);
$senha = $senha;
//Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
$result_usuario = "SELECT * FROM admin WHERE email = '$usuario' && senha = '$senha' LIMIT 1";
$resultado_usuario = mysqli_query($con, $result_usuario);
$resultado = mysqli_fetch_assoc($resultado_usuario);
//Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
if(isset($resultado)){
$_SESSION['usuarioId'] = $resultado['id'];
$_SESSION['usuarioNome'] = $resultado['nome'];
$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
$_SESSION['usuarioEmail'] = $resultado['email'];
if($_SESSION['usuarioNiveisAcessoId'] == "1"){
header("Location: administrativo.php");
}elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
header("Location: colaborador.php");
}elseif($_SESSION['usuarioNiveisAcessoId'] == "3"){
header("Location: cliente.php");
}else{
header("Location: index.php");
}
//Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
//redireciona o usuario para a página de login
}else{
//Váriavel global recebendo a mensagem de erro
$_SESSION['loginErro'] = "Usuário ou senha Inválido";
header("Location: index.php");
}
}
else{
$_SESSION['loginErro'] = "Usuário ou senha inválido";
header("Location: index.php");
}
?>
It works well that.
I tried to put this right after searching the information in the table
if (! isset($_SESSION["usuarioSenha"],$_SESSION["senha"]))
//aqui pega o valor do nome do campo da pagina de login echo
"<script>window.location='index.php'</script>";
//if it is not correct it sends to the index page to log in again }
But it doesn’t happen
This is my administrative page.php
<?php
session_start();
?>
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>Administração</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script type="text/javascript" src="js/javascriptpersonalizado.js"></script>
</head>
<body>
<div id="header">
<div class="conteudo">
<span style=" text-align: left; float: left; font-size: 20px; color: #000; line-height: 41px;">
Administração curriculos</span>
<div class="topo">
<?php
echo "<span>Conectado como:</span> ". $_SESSION['usuarioNome'];
?>
<br>
<a href="sair.php">Sair</a>
</div>
</div></div>
<div class="conteudo">
<form method="POST" id="form-pesquisa" action="">
Buscar pelo nome: <input type="text" name="pesquisa" id="pesquisa" placeholder="Digite um nome">
<input type="submit" name="enviar" value="Zerar pesquisa">
</form>
<ul class="resultado">
<?php
include("consulta.php");
?>
</div>
</body>
</html>
Another I have include (query.php)
<?php include("conecta.php");
// executa a consulta $sql = "SELECT * FROM usuario ORDER BY id"; $selec ="SELECT * FROM usuario WHERE destino"; $res = mysqli_query($con, $sql); // conta o número de registros $total = mysqli_num_rows($res);
echo "<p>Resultados encontrados: " . $total . "</p>";
// loop pelos registros while ($f = mysqli_fetch_array($res)) {
echo "<p>" . $f['nome']. " | ". $f['email'] . " | ". $f['telefone']. " | " . $f['destino']. " | ". "</p>"; }
// fecha a conexão mysqli_close($con); ?>
That makes the query in the bank and displays a list of registrations.
If I type in the browser www.seusite.com.br/query.php Go to the direct page, I would like if it type this directly in the browser to direct it to index.php if it is not logged in.
I have other pages that can only be accessed with login.
someone can help?
Instead of
echo "<script>window.location='index.php'</script>";
, you tried to useheader("Location: index.php");
?– Artur Trapp
I tried, buddy, and it didn’t work.
– Marcelo Rossi
We are not a forum, do not put the reply in the body of question and there is no need for the title SOLVED, much less the unnecessary use of Capslock, simply check the answer you think is correct, see the tour and understand the site first http://answall.com/tour
– Guilherme Nascimento