Publicidade

Bobrinha

[Resolvido] Erro página não exisbida apos o login

Olá, estou com um problema estranho e nem sei o que é nem por que acontece então vamos la, eu to criando um sisteminha de login bom ta tudo certo faço login normal checo tudo porém apos fazer o login o navegador diz que a pagina não pode ser exibida?

 

O firefox diz

 

Redirecionamento incorreto

 

O Firefox detectou que o pedido para este endereço não será concluído devido à forma que o servidor o está redirecionando.

 

Este problema algumas vezes pode ser causado pela desativação ou bloqueio de cookies.

 

Chrome diz

 

Esta página da web tem um loop de redirecionamento

A página da web em http://127.0.0.1/roncadorfm/adm/home.php resultou em muitos redirecionamentos. Apagar os seus cookies para este site ou permitir cookies de terceiros pode resolver o problema. Caso contrário, talvez seja um problema com a configuração do servidor, e não com o seu computador.

Veja algumas sugestões:

Atualize esta página da web mais tarde.

Saiba mais sobre este problema.

Erro 310 (net::ERR_TOO_MANY_REDIRECTS): Houve muitos redirecionamentos.

 

Não faço a minima ideia do por que o erro segue o script

 

index.php

 

 

<?php
# Desenvolvimento de sistemas e sites Dinâmicos - PHP
# Bobrinha - www.bobrinha.com
# E-mail/MSN: bobrinha@bobrinha.com
######################################################################

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="pt-br"/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Administração</title>
<link rel="stylesheet" type="text/css" href="css.css" />
</head>
<body>
<div align="center">
 <p> </p>
 <p> </p>
 <p><strong>Administração</strong></p>
 <form id="form1" name="form1" method="post" action="logar.php">
   <table width="400" border="0" cellspacing="5" cellpadding="5">
     <tr>
       <td> </td>
       <td><label></label></td>
     </tr>
     <tr>
       <td><strong>Login:</strong></td>
       <td><label>
         <input name="admlogin" type="text" class="campo" id="admlogin" maxlength="32" />
       </label></td>
     </tr>
     <tr>
       <td><strong>Senha:</strong></td>
       <td><label>
         <input name="admsenha" type="password" class="campo" id="admsenha" maxlength="32" />
       </label></td>
     </tr>
     <tr>
       <td> </td>
       <td><input name="entrar" type="submit" class="botao" id="entrar" value="Entrar" /></td>
     </tr>
   </table>
 </form>
 <p>Sistema Desenvolvido por: <a href="mailto:bobrinha@bobrinha.com">Bobrinha</a></p>
</div>
</body>
</html>

 

logar.php

 

<?php
# Desenvolvimento de sistemas e sites Dinâmicos - PHP
# Bobrinha - www.bobrinha.com
# Email/MSN: bobrinha@bobrinha.com
######################################################################

//conexao com banco de dados
include "conexao.php";
//funcao anti_injection
function protecao($sql)
{
	$sqlnew = preg_replace("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/i","",$sql);
	$sqlnew = trim($sqlnew);
	$sqlnew = strip_tags($sqlnew);
	$sqlnew = str_replace("'","",$sqlnew);
	$sqlnew = addslashes($sqlnew);

	return $sqlnew;
}
//recebendo dados do formulario
$admlogin = protecao($_POST['admlogin']);
$admsenha = protecao($_POST['admsenha']);

//Verificando se a conta do jogador esta banida
$verifica = mysql_query("SELECT ativo FROM phpsp_users WHERE ativo='1' AND user='$admlogin'");
$checa= mysql_num_rows($verifica);

//verificando campos em branco vindos do formulario
if (empty($admlogin) || empty($admsenha)){ 
echo("<br><br><br><br><br><br><center><strong>Preencha todos os campos corretamente</strong><br><br>");
echo "Redirecionando...";
echo '<meta http-equiv="refresh" content="3; url=index.php"></center>';
}

elseif ($checa == 0) {
echo("<br>Você não pode fazer login por que seu e-mail não foi válidado verifique seu endereço de e-mail e confirme seu cadastro antes de fazer login...<br>");
}
//compos do formulario preenchidos continua a busca no banco de dados
else{
//realizando busca no banco de dados
$busca = mysql_query("SELECT user, password, ativo, userlevel FROM phpsp_users WHERE password='$admsenha' AND user = '$admlogin' AND ativo='1' AND userlevel='2'");
$resultado = mysql_num_rows($busca);

//Dados corretos registra session
if($resultado>=1)
{

//Criando SESSION			
$_SESSION["admlogin"] = $admlogin;
$_SESSION["admsenha"] = $admsenha;
   //login correto pagina apos o login
echo '<meta http-equiv="refresh" content="1; url=home.php"></center>';
} 
//login e senha incorretos mensagem de erro
else{
echo "<br><br><br><br><strong><center>Usuário ou senha Incorretos. Desculpe, Você não tem permissão para acessar esta área.</strong><br><br><br>";
echo "Redirecionando...";
echo '<meta http-equiv="refresh" content="5; url=index.php"></center>';

}}
?>
<link rel="stylesheet" type="text/css" href="css.css" />

 

protecao.php

 

<?php
session_start();
if (!(isset($_SESSION['admlogin'])))
{
  header("Location: home.php");
}
?>

 

home.php

 

<?php 
# Desenvolvimento de sistemas e sites Dinâmicos - PHP
# Bobrinha - www.bobrinha.com
# Email/MSN: bobrinha@bobrinha.com
######################################################################

include "protecao.php";
?>
conteudo da pagina protegida

 

Não sei onde está o erro? obrigado desde de já

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que esteja acontecendo um loop infinito e o navegador identificou isto e simplesmente parou antes de travar.

 

Veja bem:

 

if (!(isset($_SESSION['admlogin']))) {
  header("Location: home.php");
}

 

Você está dizendo que, se não existir uma sessão chamada admlogin, o sistema então redireciona para a página home.php, que tem uma inclusão desta mesma condição.

 

Ou seja, quando o usuário autenticar-se no sistema esta sessão existirá, correto? Mas se não existir, ele deveria direcionar para a página de login e não para a home, porque ele nunca sairá desta condição.

 

Agora, o porquê de não estar identificando esta sessão após você autenticar-se é porque você também precisa iniciar a sessão no código logar.php, pois você atribui um valor à esta sessão. Sempre que você for ler ou gravar algo na sessão você precisa iniciá-la com session_start().

 

[]'s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos