Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema.
Eu adiciono uma validação de sessão em qualquer classe php cujo acesso é protegido.
Disso decorre esse erro: Notice: A session had already been started - ignoring session_start() in C:\XXXXXXX.php on line XX
O código da validação de sessão está aqui:
<?php
class ValidaSessao {
private $validou; //atributo que ir?etornar 0 se nao validou login ou 1 se validou
public function __construct() {
$this->validou = 0;
$this->validaLogin();
}
private function validaLogin() {
session_name('session_adm');
$temposessao = 60; //em segundos
if(!isset($_SESSION['session_adm'])) session_start(); //essa é a linha que acusa erro
if($_SESSION["sessiontime"]) {
if ($_SESSION["sessiontime"] < (time() - $temposessao)) {
session_unset();
echo "Seu tempo Expirou!";
$this->validou = 0;
}
else {
$this->validou = 1;
}
}
else {
$this->validou = 0;
session_unset();
}
$_SESSION["sessiontime"] = time();
}
public function __toString() {
return "$this->validou";
}
}
?>
O problema: tanto com o include_once e o require_once ao adicionar a classe dá o erro.
Comou eu faria para validar se sessão já iniciou ou não?
Carregando comentários...