Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá gente,
Não estou conseguindo que os cookies fiquem gravados, se eu fechar o navegador e abrir os cookies não aparecem.
Codigo quando é feito o login pela primeira vez:
$tempoCookie = ( (time()+ ( 3600*24*30*12*5 ) ) );
setcookie( "email","{$dados['email']}", $tempoCookie );
setcookie( "senha","{$dados['senha']}", $tempoCookie );
Então antes do login faço assim:
if( ( $_COOKIE['email'] ) AND ( $_COOKIE['senha'] ) ){
$this->auth->loginAutomatico()
}else{
$this->auth->login();
}
mas toda vez ele entra no else.
Que que os cookies fiquem gravados no navegador para o usuário não precisar se logar todas vez.
O que tem de errado?
recomendo verificar também se esta vazio pois eu posso facilmente apagar o dado do meu cookie e ele ainda continuar existindo.
Agora não estou conseguido apagar os cookies antes de expirar.
Estou fazendo assim:
if( ( $_COOKIE['email'] != '' ) && ( $_COOKIE['senha'] != '' ) )
{
setcookie("email", '', time() - 3600);
setcookie("senha", '', time() - 3600);
unset($_COOKIE);
}
mas na tela de login se eu der um **print_r($_COOKIE);** eles ainda aparecem com os valores do login.ta errado seu if de novo, da uma estudada a mais.
fiz assim, mas também não deu certo.
if (isset($_COOKIE['email']) && isset($_COOKIE['senha'])){
setcookie("email", '', time() - 3600);
setcookie("senha", '', time() - 3600);
unset($_COOKIE);
}O que você espera com unset($_COOKIE)?
O que você espera com unset($_COOKIE)?
Que destrua todos os cookies; ou tenho que especificar cada cookie?
Cada cookie, a variável $_COOKIE só armazena os dados de cookie da request.
Fiz sem da seguinte maneira:
setcookie("email", '', time() - 3600);
setcookie("senha", '', time() - 3600);
unset( $_COOKIE['email'] );
unset( $_COOKIE['senha'] );
mesmo assim os cookies não são apagados de jeito nenhum.
O que devo fazer?
$_COOKIE é valida apenas para pegar dados, mas não para alterar, unset em $_COOKIE não vai alterar a response.
Tente usar simplesmente:
setcookie("email", '', -1);
setcookie("senha", '', -1);
E para que ficar manipulando cookies nesse caso? use sessions que vai ser um processo bem menos doloroso.
Tente:
} else {