Bobrinha 4 Denunciar post Postado Junho 6, 2011 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 redirecionamentoA 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
Paulo André 0 Denunciar post Postado Junho 7, 2011 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
Bobrinha 4 Denunciar post Postado Junho 7, 2011 Paulo exatamente isso, obrigado Compartilhar este post Link para o post Compartilhar em outros sites