Ir para conteúdo

POWERED BY:

Arquivado

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

Razer

Perda Aleatória de Sessão

Recommended Posts

Bom dia pessoal.

 

Estou com um problema estranho em PHP. Uso WAMP no Windows XP com Firefox e IExplorer.

 

Peguei o código abaixo para testar minhas sessões. Quando abro a primeira vez, ele cria a sessão

e a cada CTRL-R (refresh de página) ele continua obtendo a mesma sessão e o valor 'test' vai sendo

incrementado. Se eu clico na barra de endereços e dou ENTER, continua funcionando normal.

 

Quando o link (a href) é pressionado, algumas vezes ele obtém a mesma sessão, mas na maioria

das vezes ele está criando uma nova. Percebe-se pelo código que é impresso e pela mensagem de

'First activation'.

 

O mais engraçado é que se neste momento, depois de ter sido criada esta nova sessão, eu for na

barra de endereços e der ENTER, ele pega a sessão que tinha sido criada primeiramente, aquela com

os valores de 'test' já incrementados.

 

Ah, a propriedade 'session.cookie_domain' do PHP.INI está vazia. Vi em outros lugares que deveria estar

assim quando se usa LOCALHOST... Mas já estava desde o início ;-). Cookies estão habilitados e tudo o mais.

 

Alguém tem alguma luz aí?

 

Valeu.

 

CODE
<?php

session_start();

if (!isset($_SESSION['test'])) {

echo "First activation: setting session variable";

$_SESSION['test'] = 1;

} else {

echo "SESSIONS ARE WORKING! activation: ", (++$_SESSION['test']);

?>

<br><a href="http://localhost:8081/testesession.php">Again</a>

<?php

}

echo "<br>" . session_id();

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi nada, mais tente:

 

<?php
session_start();
if (!isset($_SESSION['test'])) {
echo "First activation: setting session variable";
$_SESSION['test'] = false;
} else {
echo "SESSIONS ARE WORKING! activation: ", (++$_SESSION['test']);
?>
<br><a href="http://localhost:8081/testesession.php">Again</a>
<?php
}
echo "<br>" . session_id();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi nada, mais tente:

 

$_SESSION['test'] = false;

Só isso que muda?

 

Já tentei e não funcionou. O que está funcionando, mas não quero isso como alternativa permanente é:

 

session.use_only_cookies=0
session.use_trans_sid=1

e na URL, usar:

 

<a href="http://localhost:8081/testesession.php?<?php echo session_name().'='.session_id();?>">Again</a>

Perceba que sou obrigado a passar o session ID na URL, senão não funciona...

 

Alguém tem alguma idéia de porque minhas URLs pararam de funcionar????? Alguém tentou rodar o script acima pra ver se dá problema nos seus servidores também?

 

Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu continuo sem entender amigo, o que é que tu quer fazer com isso ? quer passar o nome e o ID da sessão através do href ?

Então, eu estava fazendo um site, criando sessão, etc, tudo como manda o figurino. Eu logava no site, certinho, mas quando eu

clicava em algum link do menu, para ir para uma outra porção do site, a sessão era perdida (ainda é, na verdade).

 

Como eu estava fazendo em Code Igniter, e tem uma estrutura grande por baixo dos panos, decidi rodar este script aí em cima

para testar as minhas sessões... Este script é um exemplo, é simples, só para testar se as sessões estão ou não sendo perdidas

quando se clica em algum link.

 

Este script aí mostra, no caso do meu servidor, que minhas sessòes estão sendo perdidas quando eu clico no link. Preciso resolver

isso para nào precisar ficar passando PHPSESSID em TODO link do meu site.

 

Acho que é mais ou menos isso... Sacou meu drama? :wacko:

 

[], valeu pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu estava fazendo um site, criando sessão, etc, tudo como manda o figurino. Eu logava no site, certinho, mas quando eu

clicava em algum link do menu, para ir para uma outra porção do site, a sessão era perdida (ainda é, na verdade).

Hummm, agora sim eu entendi colega, mais não faz sentido, no caso esse href que tu passou ai é um exemplo de como estão os links ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso esse href que tu passou ai é um exemplo de como estão os links ?

Não fazer sentido... nem me fale isso, já fiz vários sistemas em PHP e nunca me aconteceu algo tão bizarro... E o pior, provavelmente é alguma besteirinha que está passando desapercebido... já estou com esse problema a 3 dias... estou desenvolvendo ignorando as sessões... depois vai ser um parto arrumar tudo hahahahaha, mas dá nada...

 

Então, esse link é um exemplo sim... Já testei RELATIVO e ABSOLUTO, nenhum dos dois funcionou... comportamento bizarrícimo... Reinstalei o WAMP, instalei APACHE+PHP em separado... e todos eles me deram o mesmo problema... Verifiquei os cookies, paths, etc etc etc...

 

Ah, testei esse script no meu site de verdade (no provedor que assino) e obtive o mesmo comportamento... Será que o PHP está conspirando contra mim??? ;-)

 

Valeu pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe... cara realmente é estranho... eu também não consegui entender o porque disso...

É... isso é muito estranho... acho que vou passar explicitamente o PHPSESSID e pronto.. senào esse meu site não vai sair é nunca...

 

Valeu mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Razer fiz o teste aqui e pra mim está funcionando perfeitamente, ele não está perdendo a sessão... muito provavel seja a configuração ou versão do seu PHP talvez que esteja dando problemas...

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser alguma variavel tendo o mesmo nome do indice da sessao, do respectivo link.

 

ja aconteceu isso comigo, tenta dar uma olhada nisso ai.

 

Att.,

Andrey Moretti

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também já resolvi algo do tipo, em que deu conflito entre variáveis.

Olá amigos... me desculpem ficar fora do forum, mas começa a semana e começa a falta de

tempo :(

 

Voltei a mexer com esse meu problema, vou dar uma verifica em variáveis, etc e tal. Mas o

que mais me intriga é este trecho de código SIMPLES que eu postei lá em cima não

funcionar como deveria.

 

Logo posto o que eu achei aqui...

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

AI AI AI AI...

 

Agora está funcionando, com uma ressalva... Tenho que esperar 5 segundos entre um click e outro o_O

 

TEm lógica isso???

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ninguém tem uma suspeita de porque está demorando tanto??? 5s pra esperar entre um clique e outro é muita coisa ;-)

 

Valeu gente.

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.