Ir para conteúdo

POWERED BY:

Arquivado

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

falcao544

Problema com session!

Recommended Posts

#20

 

por isso, uma das dicas é fazer uma gambiarra. veja no post onde fala sobre redirecionamento

http://forum.imasters.com.br/topic/342563-dicas-para-uso-de-variaveis-de-sessao/

 

 

mas antes disso, tente com

header('location: http://localhost', true);

 

lembrando que a url do location tem que ser sempre completa com http://chanranran.chan..

 

evite usar caminho relativo, como:

header('location: /user/profile.php', true);

 

pode até funcionar em alguns browsers, mas em outros não.. mas depende muito da versão do browser e também do sistema operacional, enfim.. são muitas variantes, por isso, utilize sempre o caminho absoluto.

 

 

uma coisa importante também, verifique o encoding charset de seus scripts.

se etiver usando utf8 verifique no seu editor de textos se os arquivos utf8 estão como "UTF8-without BOM"

 

 

obs: de um modo geral, o simples location deveria funcionar.. se está conflitando com certos tipos de browsers é porque há algum ponto falho no seu projeto.

se não tiver muito tempo para corrigir o projeto, vai na gambiarra mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

#22 a gambiarra é justamente ter que usar um location.href ou o metatag html para fazer um redirect, sendo que pode fazer isso no php.

 

Não há nada de errado em fazer isso, mas o ponto é que havendo conflito ao fazer no php, o que indica que há algo de errado no projeto.

 

A gambiarra ocorre pelo simples fato de não resolver o suposto problema e recorrer a uma solução que feche o modelo de negócios, porém, o erro continuará lá, em algum lugar. É como varrer sujeira para debaixo do tapete.. você não vê a sujeira, mas está lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim! Mas o redirecionamento com header funciona! O problema é que a sessão é que não é criada! Testei pelo celular e fincionou mas ontem a tarde nao tinha funcionado pelo PC! O q pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja, se você reler com calma o que postei e tb os diversos conselhos dos outros colegas você não estaria repetindo o mesmo erro e fazendo a mesma pergunta..

 

resumindo, se quer resolver de forma facil, faça uma gambiarra usando o redirecionamento com javascript.

pode ser que você precise enviar também o PHPSESSID juntamente na url pois esse tipo de problema ocorre devido a alguma falha ou conflito nos cabeçalhos, como a perda do sessionid por exemplo.

 

sem o sessionid não tem como o server identificar qual a sessão, por isso, não consegue resgatar os dados previamente criados.

 

 

 

tente

 

 

$url  = 'http://a.sua.url/pagina.php';
$url .= '?';
$url .= ini_get( 'session.name' ) . '=' . session_id();
//echo $url; exit;
header( 'location:' . $url, true );

 

 

ou, usando com javascript

 

$url  = 'http://a.sua.url/pagina.php';
$url .= '?';
$url .= ini_get( 'session.name' ) . '=' . session_id();
//echo $url; exit;
?>
<script type="text/javascript">
location.href = "<?php echo $url;?>";
</script>

 

 

 

obs: veja que não é apenas copiar ,colar o exemplo e voltar aqui dizendo que não funciona, sem mostrar nada do que fez, de como está fazendo, enfim..

Os scripts e dicas acima são meros exemplos.. tudo muito simples e claro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

off

não precisa se procupar com javascript desabilitado.

a grosso modo é uma preocupação da idade da pedra.

 

motivos:

1. sem javascript não vai navegar em nenhum site hoje em dia.

2. quem desativa, o faz por conta própria e sabe das consequências, exceto para casos específicos onde um técnico faz num pc de um leigo.

3. todos os browsers vem ativados por padrão, aliás, "sempre" foi assim.

 

 

antigamente, falo de mais de 10 anos atrás, existia essa preocupação porque o javasript era relativamente novo e havia conflitos diversos entre browsers concorrentes.

 

enfim..é um assunto muito básico que todo developer que se preze deveria saber.

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.