Cookies do PHP

PHP Cookies são pequenos pedaços de dados que podem ser armazenados no computador do usuário para rastrear seu comportamento de navegação.

Os arquivos de cookies são usados ​​para armazenar informações sobre os usuários, como as credenciais de login do usuário ou o conteúdo de seus carrinhos de compras.

Além de rastrear o comportamento do usuário, eles também podem ser usados ​​para coletar informações sobre as páginas e produtos que o usuário visita no site.

O objetivo deste artigo é descrever alguns dos métodos básicos para configurar e gerenciar cookies em PHP , como definir e recuperar valores de cookies, excluir cookies e lidar com problemas de segurança de cookies, além de abordar apenas alguns desses métodos.



Um cookie é um pedaço de informação que é usado para identificar um usuário específico. Basicamente, os cookies são apenas pequenos arquivos que um servidor incorpora na parte de trás do computador de um usuário quando ele o visita.

O cookie será enviado sempre que um computador solicitar uma página por meio de um navegador e será enviado sempre que uma página for solicitada.

Usando o PHP, você pode criar cookies e também recuperar os valores armazenados neles.


PHP Criação de Cookies

Usando a função setcookie() , você pode criar um cookie que será armazenado em seu computador.

Sintaxe

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

Há apenas um parâmetro necessário, que é o parâmetro de nome e os demais parâmetros são opcionais.

O exemplo abaixo verifica se um cookie denominado $c_name está definido. Se for definido, exibe seu valor para o usuário e, se não for definido, informa ao usuário que o cookie não foi definido.

Php Cookie Example: 1 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<?php
$c_name = "Programminglanguages";
$c_value = "PHP";
setcookie($c_name, $c_value, time() + (86400 * 15), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$c_name])) {
echo "Cookie named '" . $c_name . "' is not set!";
} else {
echo "Cookie '" . $c_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$c_name];
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
No exemplo abaixo, estamos vendo como definir valores diretamente na função setcookie():

Php Cookie Example: 2 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<?php
setcookie("user_name", "Jeff Bezos", time()+3600, "/","", 0);
setcookie("user_age", "59", time()+3600, "/", "", 0);
?>
<html>
<body>
<?php
if( isset($_COOKIE["user_name"])){
echo "Hello " . $_COOKIE["user_name"] . "
";
}
else{
echo "Not recognized" . "
";
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lembre-se : é importante que a função setcookie() apareça antes da tag <html> .

Quando o cookie é enviado, ele será codificado automaticamente com a codificação de URL e, quando for recebido, será decodificado automaticamente com a mesma codificação (para evitar a codificação de URL, certifique-se de usar setrawcookie() ).


A seguir estão as etapas que você pode seguir se desejar modificar um valor de cookie em PHP:

  1. Usando o array superglobal $_COOKIE , você pode recuperar o valor de um cookie existente.
  2. Conforme necessário, faça ajustes no valor.
  3. A função setcookie() deve ser usada novamente com o valor modificado para definir o cookie novamente.

Aqui, estamos usando o exemplo 1 acima para modificar os dados no cookie:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<?php
$c_name = "Programminglanguages";
$c_value = "JAVA";
setcookie($c_name, $c_value, time() + (86400 * 15), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$c_name])) {
echo "Cookie named '" . $c_name . "' is not set!";
} else {
echo "Cookie '" . $c_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$c_name];
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
No exemplo abaixo, estamos atualizando o exemplo 2 acima usando a função setcookie() :.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<?php
setcookie("user_name", "Andy Jassy", time()+3600, "/","", 0);
setcookie("user_age", "55", time()+3600, "/", "", 0);
?>
<html>
<body>
<?php
if( isset($_COOKIE["user_name"])){
echo "Hello " . $_COOKIE["user_name"] . "
";
}
else{
echo "Not recognized" . "
";
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Usando a função setcookie() no PHP, você pode excluir um cookie definindo seu tempo de expiração para um tempo passado, após o qual o cookie será excluído.

Aqui está um exemplo de como excluir um cookie:

Php Cookie Delete Example: 1 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
setcookie("Programminglanguages", "", time() 3600);// set the expiration date to one hour ago
?>
<html>
<body>
<?php
echo "Cookie 'Programminglanguages' is deleted.";
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Aqui está outro exemplo de exclusão de cookies do exemplo 2 acima:

Php Cookie Delete Example: 2 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// set the expiration date to one hour ago
setcookie("user_name", "", time() 3600);
setcookie("user_age", "", time() 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user_name' and 'user_age' is deleted.";
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Verifique se os cookies estão ativados

Aqui está um exemplo de um pequeno script que é usado para verificar se os cookies foram ativados em seu navegador.
Vamos começar criando um cookie de teste usando a função setcookie() e, em seguida, contar as variáveis ​​de array na variável $_COOKIE , conforme mostrado abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
setcookie("cookie_testing", "cookiee test", time() + 3600, '/');
?>
<html>
<body>
<?php
if (count($_COOKIE) > 0) {
echo "A cookie is enabled on your browser.";
} else {
echo "A cookie is disabled on your browser.";
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Se você gostou deste artigo, pode se inscrever usando o formulário abaixo para receber as atualizações mais recentes em PHP.
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone