Ir para conteúdo

POWERED BY:

Arquivado

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

Guariento

Trabalhando com SESSION sem session.auto_start = 1

Recommended Posts

Alguém sabe dizer porque não consigo trabalhar com SESSION quando no meu PHP.INI consta session.auto_start = 0 ? Se AUTO_START está OFF, quando eu abro uma sessão numa página, não consigo recuperá-la na página seguinte.

 

Obs: estou utilizando o WampServer 2.2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou usando em todas as páginas o seguinte, vou resumir:

 

<?php

// inicia a sessão

session_start();



// grava ou armazena algo na sessão, exemplo:

echo 'Último acesso: '.@$_SESSION['ultimo_acesso'];

$_SESSION['ultimo_acesso'] = date('Y-m-d H:i:s');

echo '; Agora: '.@$_SESSION['ultimo_acesso'];



// dá um commit

session_commit();

?>

 

 

Na página seguinte, o mesmo código não exibe o "Último acesso" (a variável 'ultimo_acesso' está em branco). Só exibe se o session.auto_start = 1 no PHP.INI e, mesmo se eu não executar o "session_commit()" não exibe o "Último acesso" na página seguinte caso session.auto_start = 0.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é claro: arroba, você está escondendo o erro. Quando você precisa acessar um campo em um array que você não possui certeza da presença do mesmo, você deve usar isset, não esconder o erro (Notice: undefined index).

 

E o session_commit não é necessário.

 

<?php

session_start();

echo 'Último acesso: ' . isset($_SESSION['ultimo_acesso']) ? $_SESSION['ultimo_acesso'] : null;

$_SESSION['ultimo_acesso'] = date('Y-m-d H:i:s');

echo '; Agora: ' . $_SESSION['ultimo_acesso'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retirei o arroba ( @ ) e acontece a mesma coisa, sem erros suprimidos. Verifiquei com isset e a variável na session está definida sim. Realmente não entendo o que acontece.

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.