Cookies do PHP

Cookies são frequentemente usados para identificar usuários.

O que são Cookies?

Cookies são frequentemente usados para identificar usuários. Cookies são pequenos arquivos deixados pelo servidor no computador do usuário. Cada vez que o mesmo computador request uma página através do navegador, ele também envia os cookies. Com PHP, você pode criar e recuperar valores de cookies.

Como criar cookies?

A função setcookie() é usada para configurar cookies.

Notas:A função setcookie() deve estar antes da tag <html>.

Sintaxe

setcookie(name, value, expire, path, domain);

Exemplo

Neste exemplo, criamos um cookie nomeado "user", atribuímos a ele o valor "Alex Porter". Também definimos que este cookie expira em uma hora:

<?php 
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>

Notas:Ao enviar cookies, o valor do cookie é automaticamente codificado em URL, e ao recuperá-lo, é decodificado automaticamente (para evitar a codificação em URL, use setrawcookie() em vez disso).

Como recuperar o valor do Cookie?

A variável $_COOKIE do PHP é usada para recuperar o valor do cookie.

Neste exemplo, recuperamos o valor do cookie nomeado "user" e o exibimos na página:

<?php
// Imprimir um cookie
echo $_COOKIE["user"];
// Uma maneira de visualizar todos os cookies
print_r($_COOKIE);
?>

Neste exemplo, usamos a função isset() para confirmar se o cookie foi configurado:

<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "Bem-vindo " . $_COOKIE["user"] . "!<br />";
else
  echo "Bem-vindo visitante!<br />";
?>
</body>
</html>

Como excluir um cookie?

Quando você excluir um cookie, você deve alterar a data de expiração para um ponto no passado.

Exemplo de exclusão:

<?php 
// Defina a data de expiração para uma hora antes
setcookie("user", "", time()-3600);
?>

O que fazer se o navegador não suportar cookies?

Se seu aplicativo envolve navegadores que não suportam cookies, você terá que usar outros métodos para passar informações de uma página para outra dentro do aplicativo. Uma maneira é passar dados pelo formulário (sobre formulários e entrada do usuário, já abordamos anteriormente neste tutorial).

O seguinte formulário envia os dados do usuário para "welcome.php" quando o botão de envio é clicado:

<html>
<body>
<form action="welcome.php" method="post">
Nome: <input type="text" name="name" />
Idade: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Recupere os valores do "welcome.php", assim:

<html>
<body>
Bem-vindo <?php echo $_POST["name"]; ?>.<br />
Você tem <?php echo $_POST["age"]; ?> anos.
</body>
</html>