Ir para conteúdo

POWERED BY:

Arquivado

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

Alves Diogo

Painel Administrativo

Recommended Posts

Olá,
Estou enfrentando um pequeno problema em um sistema de painel administrativo que estou desenvolvendo com sessões. O sistema é bastante simples, por enquanto, só uma pagina principal (painel.php) e nela voce pode acessar a pagina de criar postagem, ou criar uma categoria.
Sendo que todas as páginas linkadas pelo painel devem ser protegidas, ou seja, 'verificar se o usuário esta logado.
Depois de preenchido o formulário de login tudo vai bem, o usuário vai para painel.php. O problema é que uma vez na página do painel, a cada atualização ou acesso a outras paginas restritas dentro do painel, ele volta para o formulário de Login. Eu tive procurando uns tutoriais que me indicam a função time() para setar a sessão, mas nao obtive exito.

 

Arquivo login.php

<? session_start(); ?>

<form method="post" action="logar.php">
<div id="login-inner">

<table border="0" cellpadding="0" cellspacing="0">

<tr>

<th>Username</th>
<td><input type="text" name="usuario" class="login-inp" /></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password" name="senha" size="8" onfocus="this.value=''" class="login-inp" /></td>
</tr>

<tr>
<th></th>
<td><input type="submit" class="submit-login" name="enviar_login"/></td>
</tr>
</table>
</div>
</form>

 

Arquivo logar.php

 

<?
session_start();
include("../../config.php");
mysql_connect($host, $user, $pass);
mysql_select_db($banco);

if(empty($_POST['usuario']) or empty($_POST['senha'])) // Se o campo USUARIO estiver vazio...
{
echo '<script>alert("Preencha todos os campos!"); </script><script>location.href="login.php"; </script>'; // Mostrar alerta!
exit;
}
$sql = mysql_query("select * from news_adm where login='".$_POST["usuario"]."' AND senha='".$_POST['senha']."'");
if (mysql_num_rows($sql) > 0) {
$_SESSION['usuario'] = $usuario;
$_SESSION['senha'] = $senha;
$_SESSION['login'] = "on";
header("Location: painel.php");
}
else {
echo "<script>location.href='login.php'; </script>";

}

?>

 

Arquivo restrito.php

 

<?
while (empty($_SESSION['login'])) { // Enquanto a sessão Login estiver vazia...
header("Location: login.php"); // Mandar para página de login.
break;
}

?>

 

Arquivo painel.php

 

<?

session_start();
include 'restrito.php';

?>

 

 

Grato pela atenção, Diogo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais nada:

 

while (empty($_SESSION['login'])) { // Enquanto a sessão Login estiver vazia...

 

O correto é:

 

if (empty($_SESSION['login'])) { // Se a sessão Login estiver vazia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais nada:

 

while (empty($_SESSION['login'])) { // Enquanto a sessão Login estiver vazia...

 

O correto é:

 

if (empty($_SESSION['login'])) { // Se a sessão Login estiver vazia...

Obrigado pela dica, apesar de esse não ser o problema principal do tópico! :S

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.