hinom 5 Denunciar post Postado Setembro 14, 2011 #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
falcao544 11 Denunciar post Postado Setembro 14, 2011 Só não entendi que gambiarra é essa! Se puder explicar agradeço! Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 15, 2011 #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
falcao544 11 Denunciar post Postado Setembro 15, 2011 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
hinom 5 Denunciar post Postado Setembro 16, 2011 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
₢istiano 0 Denunciar post Postado Setembro 16, 2011 Javascript pode ser desativados, então caso não for utilizar o header(), use o <meta. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 17, 2011 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
₢istiano 0 Denunciar post Postado Setembro 17, 2011 Isso é uma falha de segurança, caso o user esteja com js desabilitado. Compartilhar este post Link para o post Compartilhar em outros sites