Guariento 1 Denunciar post Postado Maio 24, 2013 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
Enrico Pereira 299 Denunciar post Postado Maio 24, 2013 Você precisa usar o session_start. http://php.net/manual/en/function.session-start.php Compartilhar este post Link para o post Compartilhar em outros sites
Guariento 1 Denunciar post Postado Maio 24, 2013 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
Enrico Pereira 299 Denunciar post Postado Maio 24, 2013 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
Guariento 1 Denunciar post Postado Maio 28, 2013 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
Enrico Pereira 299 Denunciar post Postado Maio 28, 2013 No início do script (depois da abertura do PHP), coloque: error_reporting(E_ALL|E_STRICT); Compartilhar este post Link para o post Compartilhar em outros sites