[Resolvido] Como contornar um 'erro' simplres em SESSION ?
Bom dia!!
Então, eu tenho um mecanismo de login, onde o nome da sessão é gerado aleatoriamente, possui vários métodos pra validar o login antes disso, mas o nome é gerado assim:
$s_code = uniqid(rand(), true);
session_name($s_code);
session_start();
E nas páginas que devam ser protegidas, eu inicio uma função para verificar o login, no caso o método é esse:
<?php
//Verifica se o login foi efetuado, deve ser chamado em todas as paginas
public function verif_if_is_logged() {
//Nomeia a sessão
$s_code = $_SESSION['sName'];
session_name($s_code);
//Inicia a sessão
session_start();
//Verifica se o ID do usuário ja foi definido
if (!isset($_SESSION['userID'])) {
//se não foi, destroi a sessão
session_destroy();
return 0;
} else {
//Se foi devolve true para o view
return 1;
}
}
Mas isso gera uma mensagem de alerta, mas só em alguns lugares:
>
Citar
Notice: A session had already been started - ignoring session_start() in /var/www/easy/model/class.loginModel.php on line 11
A dúvida é como contornar isso ??
Ou, se eu retirar o session_start() do método que verifica se o ID do usuário foi definido na sessão, ele vai continuar verificando em todas as vezes ? pergunto isso porque as vezes a página não recebe os dados da sessão se não iniciar o session_start() na página.
Desde ja obrigado
Discussão (3)
Carregando comentários...