[PHPBR] Função Header ("Location...")... não funciona

1,089 views
Skip to first unread message

Fabio Nery Developer

unread,
Aug 24, 2010, 11:02:51 AM8/24/10
to PHPBR
Olá Pessoal,

Desenvolvi um sistema intranet onde verifica a senha e manda para a
área de admin ou para a área de usuário.

Coloquei a função if ($dados ['tipo'] == 'user') { header ( "Location:
user/index.php" );} e testei em 3 servidores diferentes e funfou
beleza... Quando fui instalar no servidor do meu cliente, não
funfou... Coloquei a função javascript window.location onde ele
redireciona mas não pega os dados do usuário pra permitir o acesso. Já
fucei todo o código e a única resposta que encontrei foi o servidor
deles. Qual pode ser o problema? Alguém de vocês já passaram por isso?

Lukz'Strife

unread,
Aug 24, 2010, 12:50:44 PM8/24/10
to lista...@googlegroups.com
não funciona não redireciona para nenhum lugar ou não funciona não redireciona para o lugar certo?

--
---
Você recebeu esta mensagem por estar inscrito no grupo "PHP BR"

*** NÃO ESQUEÇA: As regras do grupo estão disponíveis em nossa Wiki:
http://wiki.phpbr.com.br/index.php/Regras_de_Utiliza%C3%A7%C3%A3o_da_Lista

Para enviar mensagens para o grupo, envie e-mails para lista...@googlegroups.com
Para cancelar sua inscrição neste grupo, envie e-mail para lista-phpbr...@googlegroups.com
Para mais opções visite este grupo em: http://groups.google.com/group/lista-phpbr

Fábio Nery Pinto

unread,
Aug 24, 2010, 1:12:17 PM8/24/10
to lista...@googlegroups.com
o header não redireciona pra nenhum lugar, já o <script> redireciona mas não carrega os dados pra validar.

Cesar Scur

unread,
Aug 24, 2010, 4:32:10 PM8/24/10
to lista...@googlegroups.com
A função header esta sendo chamada antes antes de qualquer echo? 
Tenta isso var_dump(headers_sent()) antes de settar o header.

Se retornar TRUE é que o header já foi enviado.

2010/8/24 Fábio Nery Pinto <fabio...@gmail.com>



--
Grato,
Cesar Scur




Rafael de Souza Corrêa

unread,
Aug 24, 2010, 2:47:32 PM8/24/10
to lista...@googlegroups.com
Qual o servidor utilizado? Configurações?
Att.,

=====================
  Rafael de Souza Corrêa
     55 - 51 - 8411 1498
      www.thefit.com.br
     raf...@thefit.com.br
=====================

Artur Luiz

unread,
Aug 24, 2010, 2:27:09 PM8/24/10
to lista...@googlegroups.com
Posta os erros que apareceram, se não apareceu nenhum erro, pode ser que o servidor não mostre os erros, ou o script nunca chegou naquela etapa.

Em 24 de agosto de 2010 14:12, Fábio Nery Pinto <fabio...@gmail.com> escreveu:



--
Atenciosamente, Artur Luiz
Juazeiro do Norte, CE
Brasil um país de todos. #euri
Good Luck!

Para os interessados:
http://cvu.vg/arturluiz007
Meu curriculo via Ceviu

Ari Stopassola Junior

unread,
Aug 24, 2010, 4:17:44 PM8/24/10
to lista...@googlegroups.com
Talvez a cláusula error_reporting no php.ini (do novo servidor) esteja
configurada diferente e transmita algum cabeçalho inapropriadamente.
Tente colocar um ob_start(); no começo do script.

Ari Jr.

2010/8/24 Fábio Nery Pinto <fabio...@gmail.com>:

Elton Schivei Costa

unread,
Aug 24, 2010, 2:20:18 PM8/24/10
to lista...@googlegroups.com
Seguinte,

A função header(), somente funcionará se não houver nada já impresso (print(), echo, etc) em tela, como no exemplo abaixo.

<html>
.......
</html>

<?php header("..."); ?>

isso exibirá um erro no processamento dizendo que é impossível alterar o cabeçalho da página.

Se for o caso, sugiro fazer um include no que você quer exibir, ou, fazer com parâmetros get em impressão por javascript.

<script type="text/javascript">

window.location.href = "/?id=<?=$id;?>&......";

</script>

Não é o mais indicado, mas se em último caso necessitar de uma saída ao POG, poderá usar.

Teve uma vez que precisei fazer algo do gênero, mas, os dados deveriam ser passados via $POST para outro site, porém, não poderia haver a interação com usuário nesta parte, então, criei uma div com display:none, nela criei um form e atribui os valores que queria e coloquei o javascript para fazer um submit em window.onload = function(){ document.getElementById("meuForm").submit(); };

Infelizmente, tinha que ser assim, mas só por isso.


Atenciosamente.

Elton Schivei Costa
Analista de Sistemas.



Em 24 de agosto de 2010 14:12, Fábio Nery Pinto <fabio...@gmail.com> escreveu:

Fábio Nery Pinto

unread,
Aug 25, 2010, 1:13:18 PM8/25/10
to lista...@googlegroups.com
O sistema foi desenvolvido para o ministério do exército no comando militar do planalto. Eles disponibilizaram um local no servidor onde solicitei as últimas configurações do apache. Se não me engano, é usado o php 5.2... se precisar saber de mais alguma configuração, posso ver com eles.

Beto Mazzochi

unread,
Aug 25, 2010, 1:50:39 PM8/25/10
to lista...@googlegroups.com
boa tarde
 
Não sei se seria o caso mas vc  ja tentou trocar o
 "Location: user/index.php"
 
por
 {
echo "<meta http-equiv='refresh'  content='0;URL=../index.php?parametro1=$paramentro1&parametro2=$parametro2....'>";
exit;
}
 
espero q resolva




___________________________________
Beto Mazzochi
B2M Tecnologia - Soluções em Internet
betoma...@hotmail.com

www.b2mtecnologia.com.br

 54  9103.66.57
 54  3028.97.69
P Antes de imprimir pense em seu compromisso com o Meio Ambiente e o comprometimento com os Custos.




 
> Date: Tue, 24 Aug 2010 08:02:51 -0700
> Subject: [PHPBR] Função Header ("Location...")... não funciona
> From: fabio...@gmail.com
> To: lista...@googlegroups.com

Leo Guima

unread,
Aug 25, 2010, 4:17:16 PM8/25/10
to lista...@googlegroups.com
manda um print do seu phpinfo e do servidor do cliente.

--
Atenciosamente,

Leo Guima
PHP, JQuery, Flex/Flash
(71) 8786-9091

Fábio Nery Pinto

unread,
Aug 25, 2010, 3:39:23 PM8/25/10
to lista...@googlegroups.com
Ainda não... vou testar e postarei aqui depois...

Em 25 de agosto de 2010 14:50, Beto Mazzochi <betoma...@hotmail.com> escreveu:

Antonio Luiz de Carli junior

unread,
Aug 28, 2010, 8:39:53 PM8/28/10
to lista...@googlegroups.com
A Função Header ("Location...") em alguns servidores não funciona
muito bem, quando acontece isto o melhor é fazer a verificação de
usuario e senha no topo da propria pagina de index. Com um if, caso na
consulta sql o valor for igual a zero coloca um location
redirecionando para a pagina de login novamente , se não (else) ,
siguinifica que a consulta sql não é igual a zero, ou seja encontrou o
usuario no db. Dentro do else coloca todo o conteúdo do index, com
certeza irá funcionar,.

O problema que esta ocorrendo é causado porque o location é chamado
por um header e header é um cabeçalho, normalmente a maioria dos
seridores aceita um header colocado mais abaixo no codigo pagina, mas
tem alguns servidores, que são considerados ecessões, que não aceitão
este procedimento.
Espero que ajude!! abraços!!


Em 25/08/10, Fábio Nery Pinto<fabio...@gmail.com> escreveu:


> Ainda não... vou testar e postarei aqui depois...
>
> Em 25 de agosto de 2010 14:50, Beto Mazzochi
> <betoma...@hotmail.com>escreveu:
>
>> boa tarde
>>
>> Não sei se seria o caso mas vc ja tentou trocar o
>> "Location: user/index.php"
>>
>> por
>> {
>> echo "<meta http-equiv='refresh'
>> content='0;URL=../index.php?parametro1=$paramentro1&parametro2=$parametro2....'>";
>> exit;
>> }
>>
>> espero q resolva
>>
>>
>>
>>
>> ___________________________________
>> Beto Mazzochi
>> B2M Tecnologia - Soluções em Internet
>> betoma...@hotmail.com
>>
>> www.b2mtecnologia.com.br
>>

>> * 54 9103.66.57*
>> * 54 3028.97.69 *
>> *P Antes de imprimir pense em seu compromisso com o Meio Ambiente e o
>> comprometimento com os Custos.*

Reply all
Reply to author
Forward
0 new messages