REDIRECIONAMENTO

Enviada por Guiller 
Guiller
REDIRECIONAMENTO
29 de October de 2003 às 11:51AM
GOSTARIA DE SABER COMO FAÇO O REDIRECIONAMENTO DO USUÁRIO PARA OUTRO SITE, NO MOMENTO DE EFETUAR UM LOGIN CONFORME O CODIGO ABAIXO, já que headers não aceitam no meio da pagina.

...
/*caso o resultado seja igual a 1 ele entra no sistema
$num=mysql_numrows($resultado) or die
($erro="Usuário não encontrado" );
if ($num==1) {Header("location: http://localhost/sistema.php")};

Valeus
Newton Wagner
Re: REDIRECIONAMENTO
29 de October de 2003 às 12:07PM
Headers podem estar em qquer lugar do código, mas não são aceitos caso alguma mensagem tenha sido enviada para o browser do visitante.

O que na verdade faz sentido, pois, se você vai redirecionar o usuário, pra que mostrar alguma coisa na tela? :).


Espero ter ajudado
Re: REDIRECIONAMENTO
29 de October de 2003 às 12:33PM
Funciona sim do modo que você esta querendo so que vc esta interpretando de maneira errada.
Veja bem, você fez um página de login e pronto!
Quando o usuário clicar no submit (seja lá qual for o nome do botão), ele será enviado a uma página que pocessará o pedido, acessando o DB e fazendo seu redirecionamento. Desta forma, na página de autenticação (chamemos assim), você ainda não enviou nenhum comando para o browser então, o header será aceito sem problemas.

Espero ter ajudado.
Guiller
Re: REDIRECIONAMENTO
29 de October de 2003 às 08:16PM
Mas o problema é que eu ja botei tudo numa pagina só...o formulário só é chamado quando clica no botão submit, e quando clicado, ele conecta ao banco de dados, e faz a veriicação....
caso seja igual a 1, ( achou apenas 1 registro de login e senha) ele é redirecionado para outra tela.Caso contrario, chama novamente o formulario, mostrando a mensagem de que não está cadastrado.
Roberto Lemos
Re: REDIRECIONAMENTO
29 de October de 2003 às 08:57PM
O importante no caso aqui é que vc não dê display de nada antes de chamar o header

tipo assim

se vc colocar dessa forma

inicio da programação
------------------------------

<?php
header...
?>
------------------------------

vc já está errado porque tem um newline no inicio, sendo assim o seu header não poderá ser chamado mesmo, é importante que o header seja chamado no inicio da página, mas vc pode colocar kilos e kilos de programação php antes dele que isso não irá afetar em nada desde que vc não ecoe nada para o documento nem mesmo um espaço em branco...

procure por qualquer coisa antes dele que não esteja dentro de <? ?>

ficaria mais facil vc colocar o script inteiro e o erro que deu, pois isso que você quer fazer rodará sem problema algum ae :P

vamos a um exemplo pratico...

comprei o dominio thehun.com.br e o dono do dominio .com não gostou da ideia, sendo assim ele me colocou em img scr em todas as páginas do site dele, o que inundava meu servidor aqui, não conseguia conectar em mysql, meu apache ficava entulhado de processo, etc...

qual a solução ?

<?php
$referer = "$HTTP_REFERER";
if (((eregi("dehun.nl", $referer)) || (eregi("the-huns-yellow-pages.com", $referer)) || (eregi("thehun.org", $referer)) || (eregi("thehon.com", $referer)) || (eregi("thehun.nl", $referer)) || eregi("thehun.com", $referer)) || (eregi("thehuns.com", $referer)) || (eregi("thehuns.net", $referer)) || (eregi("thehun.net", $referer))) {
header("Location: http://www.thehun.com");
exit;
}

if (($referer == "") && ($entrada <> sim) && ($ft == "")) {
echo "Aguarde... Redirecionando...";
echo "<meta http-equiv=\"refresh\" content=\"1;URL=index.php?entrada=sim\">";
exit;
}

else {
ecoapage();
}
?>

com isso me livrei do atraque e mandei todo o trafego que ele tentava me atqacar de volta para o servidor dele através de um cabeçalho header

e vc pode notar que em cima do jeader roda programação php, mas sem nenhum espaço, nova linha ou caractere de especie que seja

cordialmente
Roberto Lemos
Consultor WEB Empire NET Conectividade
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.