Ir para conteúdo

POWERED BY:

Arquivado

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

richard nicson

Header Location não funciona

Recommended Posts

Bom dia,estou com um problema em um sistema de login que ao final ele deveria direcionar para a página painel mas não direciona.

 

eu percebi que ao atualizar á pagina ele se loga pois muda o menu mas não direciona o usuario.

 

Liberei todos os erros para tentar descobrir e o erro que a tela mostra são esses abaixo:

 

Notice: A session had already been started - ignoring session_start() in /home/afiliados/public_html/verifica_usuario.php on line 6 Notice: Undefined variable: sobrenome in /home/afiliados/public_html/verifica_usuario.php on line 96 Warning: Cannot modify header information - headers already sent by (output started at /home/afiliados/public_html/index.php:185) in /home/afiliados/public_html/verifica_usuario.php on line 108

 

O código que uso é esse:

 

 

<?php
 
session_start();  // Inicia a session
 
 
 
$usuario = $_POST['usuario'];
 
$senha = $_POST['senha'];
 
 
 
if((!$usuario) || (!$senha)){
 
 
 
echo "Por favor, todos campos devem ser preenchidos! <br /><br /><br /><br /><center><a href='?page=logar'>Voltar ao Site</a></center>";
 
include "?page=logar";
 
 
 
}
 
else{
 
 
 
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' or email='{$usuario}' AND senha='{$senha}' AND ativado='1'");
 
$login_check = mysql_num_rows($sql);
 
 
  if($login_check > 0){
 
 
 
while($row = mysql_fetch_array($sql)){
 
 
foreach( $row AS $key => $val ){
 
 
 
$$key = stripslashes( $val );
 
 
 
}
 
 
 
$_SESSION['usuario_id'] = $usuario_id;
 
$_SESSION['nome'] = $nome;
 
$_SESSION['sobrenome'] = $sobrenome;
 
$_SESSION['email'] = $email;
 
$_SESSION['nivel_usuario'] = $nivel_usuario;
 
 
 
mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'");
 
 
 
header("Location: ?page=painel");
 
 
 
}
 
 
 
}
 
else{
 
 
 
echo "Você não pode logar-se! Este usuário e/ou senha não são válidos!<br />
 
Por favor tente novamente!<br /><br /><br /><center><a href='http://redeafiliados.com/?page=logar'>Voltar ao Site</a></center>";
 
 
 
include "?page=logar";
 
 
 
}
 
 
 
}
 
 
 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve estar chamando session_start mais de uma vez ou está usando funções de cabeçalho depois de saída HTML. Veja mais detalhes aqui: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#header

 

Outros detalhes:

 

Não existe isto:

 

include "?page=logar";

Deve-se incluir um arquivo, não uma query string

 

 

funções mysql_* estão obsoletas desde o PHP 5.5 e serão removidas do PHP em breve. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Efetuei as alterações,agora o erro que mostra é esse

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/afiliados/public_html/index.php:251) in /home/afiliados/public_html/verifica_usuario.php on line 7 Notice:

 

Cannot modify header information - headers already sent by (output started at /home/afiliados/public_html/index.php:251) in /home/afiliados/public_html/verifica_usuario.php on line 72

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o mesmo erro que descrevo aqui, mesmo link que passei no post anterior

Verifiquei seu post,fiz uma limpeza no código tentando corrigir mas infelizmente não mudou nada.

 

 

Eu alterei o header location pela tag

 

echo "<meta HTTP-EQUIV='refresh' CONTENT='1;URL=http://redeafiliados.com/?page=painel'>";

 

Porém percebi que em meu computador ele está acessando normalmente a página painel como se estivesse logado.

 

mas quando acesso de outro pc ele acessa como se estivesse deslogado.

 

Alguém saberia me ajudar?

 

 

?

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.