Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Foto:

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

  • Por favor, faça o login para responder
2 respostas neste tópico

#1 Bobrinha

Bobrinha

    Ronaldo Aires

  • Membros
  • 369 posts

Postado 06 junho 2011 - 12:52

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/ron...fm/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>&nbsp;</p>
  <p>&nbsp;</p>
  <p><strong>Administra&ccedil;&atilde;o</strong></p>
  <form id="form1" name="form1" method="post" action="logar.php">
    <table width="400" border="0" cellspacing="5" cellpadding="5">
      <tr>
        <td>&nbsp;</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>&nbsp;</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&ecirc; n&atilde;o pode fazer login por que seu e-mail n&atilde;o foi v&aacute;lidado verifique seu endere&ccedil;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&aacute;rio ou senha Incorretos. Desculpe, Voc&ecirc; n&atilde;o tem permiss&atilde;o para acessar esta &aacute;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

#2 Paulo André

Paulo André

    riabox.com.br

  • Membros
  • 1.483 posts

Postado 07 junho 2011 - 07:07

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

#3 Bobrinha

Bobrinha

    Ronaldo Aires

  • Membros
  • 369 posts

Postado 07 junho 2011 - 14:54

Paulo exatamente isso, obrigado
  • 0