Ir para conteúdo

Arquivado

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

Bobrinha

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

Recommended Posts

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á

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

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.