Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Gente estou com um problema com cookie
fiz um esquema de login com cookie, ele esta gravando o cookie, fui ate a opção de privacidade do Firefox e pedi para exibir os cookies que tenho na maquina e o cookie que gerei ao logar esta lá!
Porem não consigo utiliza-lo com o php!!
Isso não fuiniconou:
if($_COOKIE["logado"]){
echo "funcionou";
}
E isso tambem não deu cereto:
echo $_COOKIE["logado"]; //não imprime nada...
Mesmo eu consegindo ver o cookie logado atraves do firefox, qual o problema?
Preciso declarar algo para utilizar coookie como faço em sesseion (session start)?
Obrigado.
borsatti, o código que postou provavelmente cai no mesmo erro do código do alan.
Se você executar o código com as devidas configurações sobre exibição de erros, verá que um erro do tipo NOTICE irá surgir justamente porque o cookie não existe.
Notice: Undefined index: login in C:\xampp\htdocs\teste.php on line 7
Eu apenas alterei isso no teu código:
<?php
ini_set( 'error_reporting', E_ALL );
ini_set( 'display_errors', '1' );
setcookie("login","borsatti");
echo $_COOKIE['login'];
?>
Agora se eu executar novamente o teu código, irá funcionar e irá retornar a string "borsatti" como esperado.
Essa situação é descrita no manual do PHP, e ocorre por isso:
>
Problemas comuns:
* Os cookies não estarão disponíveis até o próximo carregamento da página a qual o cookie deverá estar visível. Para testar se um cookie foi enviado com sucesso, verifique o cookie no próximo carregamento da página antes que ele expire. O tempo para expirar é configurado via o parâmetro expira. Uma maneira boa de depurar a existência dos cookies é chamando a função print_r($_COOKIE);.
Sim, ele vai dar erro de primeira... pq o cookie ainda nao existe.
então faça assim!!
<?php
ini_set( 'error_reporting', E_ALL );
ini_set( 'display_errors', '1' );
if (!isset($_COOKIE['login10'])){
if (setcookie("login10","borsatti",time()+3600)) {
echo "cookie setado com sucesso! recarregue a pagina";
}
}
if (isset($_COOKIE['login10'])) {
echo $_COOKIE['login10'];
}
?>Utlize na index :
session_start();
header('P3P: CP="CAO PSA OUR"');
ini_set('session.use_only_cookies', 1);
cara, poste seu codigo ae... eu coloquei só isso ae e ja dá para ler!