110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: PHP Cookies | |||
|  | localeTitle: Cookies PHP | |||
|  | --- | |||
|  | # COOKIES PHP
 | |||
|  | 
 | |||
|  | ## O que é um cookie?
 | |||
|  | 
 | |||
|  | Um cookie é frequentemente usado para identificar um usuário. É um pequeno arquivo que o servidor incorpora no computador do usuário. Cada vez que o mesmo computador solicita uma página com um navegador, ele também enviará o cookie.   | |||
|  | Os cookies foram projetados para serem um mecanismo confiável para lembrar informações com informações de estado ou para registrar a atividade de navegação do usuário.   | |||
|  | Eles também podem ser usados para lembrar partes arbitrárias de informações que o usuário inseriu anteriormente em campos de formulário, como nomes, endereços, senhas, etc. | |||
|  | 
 | |||
|  | ## Criando Cookies com PHP
 | |||
|  | 
 | |||
|  | Com o PHP, você pode criar e recuperar valores de cookie. Um cookie é criado com a função setcookie (). | |||
|  | 
 | |||
|  | `setcookie(name, value, expire, path, domain, secure, httponly);` | |||
|  | 
 | |||
|  | Apenas o parâmetro _name_ é um parâmetro obrigatório. Todos os outros parâmetros são opcionais. | |||
|  | 
 | |||
|  | ## PHP criar / recuperar um cookie
 | |||
|  | 
 | |||
|  | O exemplo a seguir cria um cookie chamado "user" com o valor "John Doe".   | |||
|  | O cookie expirará após 30 dias (86400 \* 30).   | |||
|  | O "/" significa que o cookie está disponível em todo o site (senão, você pode selecionar o diretório que preferir).   | |||
|  | Em seguida, recuperamos o valor do cookie "user" (usando a variável global $ \_COOKIE).   | |||
|  | Também usamos a função isset () para descobrir se o cookie está definido: | |||
|  | 
 | |||
|  | **Exemplo:** | |||
|  | ``` | |||
|  | <?php  | |||
|  |  $cookie_name = "user";  | |||
|  |  $cookie_value = "John Doe";  | |||
|  |  setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");  // 86400 = 1 day  | |||
|  |  ?>  | |||
|  |  <html>  | |||
|  |  <body>  | |||
|  |   | |||
|  |  <?php  | |||
|  |  if(!isset($_COOKIE[$cookie_name])) {  | |||
|  |     echo "Cookie named '" . $cookie_name . "' is not set!";  | |||
|  |  } else {  | |||
|  |     echo "Cookie '" . $cookie_name . "' is set!<br>";  | |||
|  |     echo "Value is: " . $_COOKIE[$cookie_name];  | |||
|  |  }  | |||
|  |  ?>  | |||
|  |  </body>  | |||
|  |  </html>  | |||
|  | ``` | |||
|  | 
 | |||
|  | **Nota:** A função setcookie () deve aparecer **ANTES** da tag. | |||
|  | 
 | |||
|  | Saída:   | |||
|  | Cookie 'user' está definido!   | |||
|  | O valor é: John Doe | |||
|  | 
 | |||
|  | ## PHP modificar um valor de cookie
 | |||
|  | 
 | |||
|  | Para modificar um cookie, basta definir o valor novamente usando a função setcookie (): | |||
|  | 
 | |||
|  | **Exemplo:** | |||
|  | ``` | |||
|  | <?php  | |||
|  |  $cookie_name = "user";  | |||
|  |  $cookie_value = "Jane Porter";  | |||
|  |  setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");  | |||
|  |  ?>  | |||
|  |  <html>  | |||
|  |  <body>  | |||
|  |   | |||
|  |  <?php  | |||
|  |  if(!isset($_COOKIE[$cookie_name])) {  | |||
|  |     echo "Cookie named '" . $cookie_name . "' is not set!";  | |||
|  |  } else {  | |||
|  |     echo "Cookie '" . $cookie_name . "' is set!<br>";  | |||
|  |     echo "Value is: " . $_COOKIE[$cookie_name];  | |||
|  |  }  | |||
|  |  ?>  | |||
|  |   | |||
|  |  </body>  | |||
|  |  </html>  | |||
|  | ``` | |||
|  | 
 | |||
|  | Saída:   | |||
|  | Cookie 'user' está definido!   | |||
|  | O valor é: Alex Porter | |||
|  | 
 | |||
|  | ## Excluir um cookie do PHP
 | |||
|  | 
 | |||
|  | Para excluir um cookie, use a função setcookie () com uma data de expiração no passado: | |||
|  | 
 | |||
|  | **Exemplo:** | |||
|  | ``` | |||
|  | <?php  | |||
|  |  // set the expiration date to one hour ago  | |||
|  |  setcookie("user", "", time() - 3600);  | |||
|  |  ?>  | |||
|  |  <html>  | |||
|  |  <body>  | |||
|  |   | |||
|  |  <?php  | |||
|  |  echo "Cookie 'user' is deleted.";  | |||
|  |  ?>  | |||
|  |   | |||
|  |  </body>  | |||
|  |  </html>  | |||
|  | ``` | |||
|  | 
 | |||
|  | Saída:   | |||
|  | Cookie 'user' é deletado. |