110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: PHP Cookies
							 | 
						||
| 
								 | 
							
								localeTitle: Cookies de PHP
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								# Galletas de PHP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## ¿Qué es una cookie?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Una cookie se utiliza a menudo para identificar a un usuario. Es un archivo pequeño que el servidor inserta en la computadora del usuario. Cada vez que la misma computadora solicite una página con un navegador, también enviará la cookie.  
							 | 
						||
| 
								 | 
							
								Las cookies fueron diseñadas para ser un mecanismo confiable para recordar información de estado o para registrar la actividad de navegación del usuario.  
							 | 
						||
| 
								 | 
							
								También se pueden usar para recordar datos arbitrarios que el usuario ingresó previamente en campos de formulario como nombres, direcciones, contraseñas, etc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Creando Cookies con PHP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Con PHP, puede crear y recuperar valores de cookies. Se crea una cookie con la función setcookie ().
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								`setcookie(name, value, expire, path, domain, secure, httponly);`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Sólo el parámetro de _nombre_ es un parámetro requerido. Todos los demás parámetros son opcionales.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## PHP Crear / Recuperar una cookie
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								El siguiente ejemplo crea una cookie llamada "usuario" con el valor "John Doe".  
							 | 
						||
| 
								 | 
							
								La cookie expirará después de 30 días (86400 \* 30).  
							 | 
						||
| 
								 | 
							
								La "/" significa que la cookie está disponible en todo el sitio web (de lo contrario, puede seleccionar el directorio que prefiera).  
							 | 
						||
| 
								 | 
							
								Luego recuperamos el valor de la cookie "usuario" (utilizando la variable global $ \_COOKIE).  
							 | 
						||
| 
								 | 
							
								También usamos la función isset () para averiguar si la cookie está configurada:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**Ejemplo:**
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								<?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: la** función setcookie () debe aparecer **ANTES de** la etiqueta.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Salida:  
							 | 
						||
| 
								 | 
							
								Cookie 'usuario' está configurado!  
							 | 
						||
| 
								 | 
							
								El valor es: John Doe
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## PHP modifica un valor de cookie
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Para modificar una cookie, simplemente establezca el valor nuevamente usando la función setcookie ():
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**Ejemplo:**
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								<?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> 
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Salida:  
							 | 
						||
| 
								 | 
							
								Cookie 'usuario' está configurado!  
							 | 
						||
| 
								 | 
							
								El valor es: Alex Porter
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## PHP Eliminar una cookie
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Para eliminar una cookie, use la función setcookie () con una fecha de caducidad en el pasado:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**Ejemplo:**
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								<?php 
							 | 
						||
| 
								 | 
							
								 // set the expiration date to one hour ago 
							 | 
						||
| 
								 | 
							
								 setcookie("user", "", time() - 3600); 
							 | 
						||
| 
								 | 
							
								 ?> 
							 | 
						||
| 
								 | 
							
								 <html> 
							 | 
						||
| 
								 | 
							
								 <body> 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 <?php 
							 | 
						||
| 
								 | 
							
								 echo "Cookie 'user' is deleted."; 
							 | 
						||
| 
								 | 
							
								 ?> 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 </body> 
							 | 
						||
| 
								 | 
							
								 </html> 
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Salida:  
							 | 
						||
| 
								 | 
							
								Se elimina el "usuario" de la cookie.
							 |