• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jaime_paixao

Erro do redirect

9 mensagens neste tópico

Boas pessoal,

eu tnho um site qe está online. Só que quando faço o online da-me este erro:

"Cannot modify header information - headers already sent by"

O código que tenho é este:

<?php 


//para ele n dar erro, vou fazer isto se o login e password foram preenchidos

if(isset($_REQUEST['login']) && isset($_REQUEST['password']))
{
$login = $_REQUEST['login'];
$password = $_REQUEST['password'];
$pas=md5($password);

include("ligacao/ligacao.php");
  
//aqui o comando para seleccionar
$sql = "SELECT * FROM utilizadores where username = '$login'";
$result = mysql_query($sql);
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
	{
		$password=$row['password'];
		$activo=$row['activo'];
		$cod=$row['cod_tipo'];

if($pas = $password && $activo==1 && $cod==2)
{
	header('location: index_clie');
}

if($pas=$password && $activo==1 && $cod==3)
{
	header('location: index_tec');
}

if($pas=$password && $activo==1 && $cod==1)
{


}
	}


}
?>

não sei pq é que nao redirecciona, alguem me pode ajudar???

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque existe para aí um output qualquer que sai para o browser antes do redireccionamento. Põe a mensagem de erro completa, para sabermos onde está o erro.

E aquele $pas=$password nos teus ifs, tem falta de um =, ou seja, $pas==$password.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Warning: Cannot modify header information - headers already sent by (output started at /home/tdicom/public_html/pa/index.php:10) in /home/tdicom/public_html/pa/index.php on line 48

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu está a correr este código a meio de uma página ou assim? Se sim, não deves fazê-lo. Verifica o login no topo desse ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo eu meti isto agora online... ele só me dá erro nos redirect's

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

quando n posso usar os header uso funcoes de javascript para redirect  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

quando n posso usar os header uso funcoes de javascript para redirect  :)

Como eu.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas usar os headers não é impossível. Aliás, não vejo a lógica de mostrar output para o utilizador, quando a intenção é redireccioná-lo para outra página, com outros conteúdos.

Das duas uma: ou fazem como está na wiki, com o ob_start e ob_flush, ou então, processam o que têm a processar antes do output.

Isto porque ao usar o redirect com o Location, o PHP cria um redireccionamento 3xx (300 e tal), tal como indicado nos standards de HTTP. Com redirects de javascript, correm o risco do utilizador ter o JS desactivado, ou podem mesmo "quebrar" a lógica de navegação, na utilização do botões avançar/retroceder do browser (mas pelo menos o Firefox já trás umas melhorias nisto).

Contudo, todas as soluções funcionam. É apenas uma questão de seguir um conjunto de orientações que foram estipulados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora