+ Responder ao Tópico



  1. #1

    Padrão Autenticação retornando: Houve muitos redirecionamentos.

    Boa tarde amigos,

    Estou com um problema que gostaria de partilhar com todos: rodando um site em localhost, quando eu coloco login e senha na pagina usuarios.php o mesmo retorna o erro: Houve muitos redirecionamentos. Só que, quando eu comento a 1ª linha da página que seria aberta quando autenticada, aparecem outros erros: conforme mostro abaixo:

    - a 1ª linha é: <?php include("../cadastro/user_check.php"); ?>
    - os erros são:

    //
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 9

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 11

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 12.

    Estou colocando os scripts para consulta de todos:

    USUÁRIOS.PHP:


    Código PHP:
    <?php

    if ($erro == 'pro') {
    $errado "Usuario ou Senha Invalidos";
    }
    else { 
    $errado " "; }
    $erro $_GET//Mensagem de Erro fica vazia 
    if (isset($_POST["login"]) == FALSE) { $login ""; } //Caso não esteja preenchido
    else { $login $_POST["login"]; }

    if (isset(
    $_POST["senha"]) == FALSE) { $senha ""; } //Caso não esteja preenchido
    else { $senha $_POST["senha"]; }

    if (isset(
    $_GET["acao"]) == FALSE) { $acao ""; } //Caso não esteja preenchido
    else { $acao $_GET["acao"]; }

    if (
    $acao=='up') { 
    //Abra conexao com o MySql
    include("cadastro/conexao.php");
    mysql_connect($host,$user,$pass) or die ("Impossivel Conectar ao Servidor MySQL");
    //Conecta ao Banco de Dados
    mysql_select_db($db) or die ("Impossivel Abrir Database");
    //Faz uma busca no banco usuarios no campo senha

    $result mysql_query("SELECT senha,grupo,diretorio FROM usuarios WHERE login='$login' AND senha='$senha'");
    if (
    $row mysql_fetch_array($result)) {
    do {
    if (
    $senha == $row["senha"]) 
    {
    session_start("entrar"); //Inicializa a sessão
    $auth "aUsErTeste123"//Registra a Seção
    session_start("usuarios");
    $usuario $login;
    session_start("dir");
    $diretorio $row["diretorio"];

    session_register("auth"); //Registra as variáveis na sessão
    session_register("usuario");

    session_register("diretorio"); //Registra Diretorio do Usuario
    global $diretorio;

    $grupo $row["grupo"]; //Registra Diretorio do Usuario
    session_register("grupo");

    $nome $_POST["nome"];
    $email $_POST["email"];
    $login $_POST["login"];
    $senha $_POST["senha"];
    $lembrete $_POST["lembrete"];
    ==============================================

    CONEXAO.PHP:


    Código PHP:
    <?php

    $host 
    "localhost"// Host do servidor
    //$user = "www"; // Conta do Usuario
    //$pass = "3usr2!"; // Senha do Usuario
    $user "root"// Conta do Usuario
    $pass "teste123"// Senha do Usuario
    $db "radar" // Banco de Dados

    ?>
    =================================================

    USER_CHECK.PHP

    Código PHP:
    <?php

    session_start
    ("entrar");
    session_start("usuarios");
    if (!(isset(
    $auth)) OR ($auth != "aUsErTeste123")) { header("Location:/usuarios.php"); }
    if (!(isset(
    $usuario)) OR ($usuario != $login)) {header("Location:/usr/index.php"); }
    ?>
    ==================================================

    Agradeço pela a ajuda

    André
    Última edição por ab5x2; 19-03-2015 às 16:20.

  2. #2

    Padrão Re: Autenticação retornando: Houve muitos redirecionamentos.

    Caro colega, você vai ter que fazer uma checagem de onde você está , se estou na pagina de autenticação , não faço redirecionamento até que um usuario faça a sua autenticação

  3. #3

    Padrão

    Citação Postado originalmente por lucyannlenon Ver Post
    Caro colega, você vai ter que fazer uma checagem de onde você está , se estou na pagina de autenticação , não faço redirecionamento até que um usuario faça a sua autenticação

    Pois é amigão, justamente quando coloco o login e a senha na página usuarios.php ele dá erro d direcionamento, no chrome e no firefox. Mas, quando eu comento a linha <?php include("../cadastro/user_check.php"); ?>, da página que deveria abrir quando validada a senha, ela abre com os erros:

    //
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 9

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 11

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:1) in /var/www/cadastro/user_check.php on line 12.

    O que será?

    Grande abraço e obrigado!

    André

  4. #4

    Padrão Re: Autenticação retornando: Houve muitos redirecionamentos.

    adiciona esta linha na cabeça do arquivo

    error_reporting(E_ERROR | E_PARSE);

  5. #5

    Padrão

    Citação Postado originalmente por lucyannlenon Ver Post
    adiciona esta linha na cabeça do arquivo

    error_reporting(E_ERROR | E_PARSE);
    Agora está mostrando:

    error_reporting(E_ERROR | E_PARSE);
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/usr/index.php:2) in /var/www/cadastro/user_check.php on line 9

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:2) in /var/www/cadastro/user_check.php on line 11

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/usr/index.php:2) in /var/www/cadastro/user_check.php on line 12

  6. #6

    Padrão Re: Autenticação retornando: Houve muitos redirecionamentos.

    troque aquele codigo por esse que vai funcionar
    error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);

  7. #7

    Padrão

    Citação Postado originalmente por lucyannlenon Ver Post
    troque aquele codigo por esse que vai funcionar
    error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
    O amigo acertou ao enviar o código para parar de mostrar mensagens de erros. O problema é que, como o user_check.php foi comentado, a página não funciona direito...preciso fazê-la funcionar com o user_check.php sem estar comentado.

    Muito grato lucyannlenon