jokita18 0 Denunciar post Postado Abril 19, 2015 <?php ob_start(); session_start(); ?> <body> <?php if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARTDED_FOR'] != '') { $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip_address = $_SERVER['REMOTE_ADDR']; } if(isset($_POST['login'])){ $ses ['id'] = session_id(); $ses ['on'] = time(); $ses ['end'] = $ses['on'] + 30; $ses ['ip'] = $ip_address; $ses ['senha'] = $_POST ['senha']; $_SESSION ['user'] = $ses; } if (empty($_SESSION['user'])){ header('Location: http://localhost/site.pt/login.php/'); exit(); }else{ $tempolog = $_SESSION ['user']['on']; $tempoagg = time(); $tempoonn = $tempoagg - $tempolog; $tempofim = $_SESSION ['user']['end'] - $tempoagg; echo $tempofim; if($tempofim<=0){ unset($_SESSION['user']); header('location: '.$_SERVER['PHP_SELF']); }else{ $_SESSION ['user']['end'] = time() + 30; } header('location: http://www.google.pt' ); exit(); } ?> Olá provalvelmente é um erro muito bobo mas com o código acima o navgador diz que existe demesiados redirecionamentos. estive a pesquuisar e parece que algo está errado no código o que acaba por gerar redirecionamentos em loop. A ideia seria. se existisse uma sessão o usuário era reencaminhado para uma pagina (por para exemplificar coloquei o Google) e caso não ele seria enviado para a pagina de login.php que é esta mesma . Já utilizei o php_self mas o resultado fui o mesmo. por favor me ajudem obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 Qual o nome da página aonde está esse código? Não é a mesma do login, é? Porque se for vai ficar redirecionando para ela mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
jokita18 0 Denunciar post Postado Abril 19, 2015 a página é a mesma. eu quero que se o usuário estiver na página login.php sem sessão iniciada simplesmente fique lá(para que inicie sessão) e se tiver sessão iniciada passe diretamente para outra página. eu quero colocar aquele código no header e que ele verifique se o usuário tem autorização para navegar num painel por isso a página tem de ser a mesma. desde já agradecido Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 Se está na mesma página não precisa do header. Você pode simplesmente imprimir uma mensagem ou deixar o formulário de login. Ou ainda apenas redirecionar para a outra página caso tenha um usuário já logado. Algo assim: if(isset($_SESSION["user"])){ header('Location: index.php'); }else{ // cria o formulário de login } Compartilhar este post Link para o post Compartilhar em outros sites