elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Pregunta]: ¿Como eliminar una cookie en específico?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Como eliminar una cookie en específico?  (Leído 2,159 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Como eliminar una cookie en específico?
« en: 3 Abril 2020, 20:40 pm »

Buenos días,

estaba investigando sobre como podía eliminar una cookie con PHP y según lo que he visto hay dos maneras que me confunden un poco. Hay como un debate de que es mejor y que no, otros que dicen que se puede complementar y ya me terminan confundiendo.

La primer manera que se dice es:
Código
  1. unset($_COOKIE['my_cookie']);
  2.  

Y la segunda manera es:
Código
  1. setcookie('my_cookie'); // con este método se elimina la cookie
  2.  

No se bien cual es mejor hacer, o si es así como se dice que hay que complementarlas pero siendo así cual conviene escribir primero en el código?


Mod: Temas sobre PHP van al subforo de PHP.


« Última modificación: 3 Abril 2020, 21:53 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: [Pregunta]: ¿Como eliminar una cookie en específico?
« Respuesta #1 en: 3 Abril 2020, 21:52 pm »

Hola,

Las cookies no se eliminan como tal sino que se marcan como expiradas para que el navegador las elimine. Dicho esto, lo ideal es hacer las 2 cosas y de manera clara y limpia.

Código
  1. if (isset($_COOKIE['my_cookie'])) {
  2.    unset($_COOKIE['my_cookie']);
  3.    setcookie('my_cookie', '', time() - 3600, '/');
  4. }

Con unset te aseguras que el resto del código que se tenga que ejecutar no va a interpretar el valor de la cookie. Con un setcookie en negativo (en este caso 1 hora menos que la actual), le estas diciendo al navegador que esta cookie ha expirado y que debe eliminarla. La eliminación de la cookie por parte del navegador puede NO ser instantánea, por ello también se la pasa un valor vació (segundo argumento) a fin de evitar retomar el valor antiguo.


Saludos


En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Como eliminar una cookie en específico?
« Respuesta #2 en: 3 Abril 2020, 22:52 pm »

Gracias, en pocas lineas me explicaste todo.

Mi unsetcookie casero xD

Código
  1. if(!function_exists('unsetcookie'))
  2. {
  3. function unsetcookie($name)
  4. {
  5. if(is_string($name))
  6. {
  7. if(isset($_COOKIE[$name]))
  8. {
  9. unset($_COOKIE[$name]);
  10. setcookie($name, '', time() - 3600, '/');
  11. }
  12. }
  13. }
  14. }
  15.  

Creo que ahí quedó bien...

Gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como eliminar pregunta secreta en Hotmail?
Mensajería
Libertronic 1 5,762 Último mensaje 4 Febrero 2011, 01:40 am
por Axus
cookies+chromkie+chrome+cookie editor=como modificar cookie? reto:cocinar
WarZone
ruben_linux 6 11,428 Último mensaje 20 Agosto 2011, 03:03 am
por wiyar01
Una pregunta sobre el GTA V(especifico con antelacion)
Juegos y Consolas
robebugaty 2 2,346 Último mensaje 27 Septiembre 2014, 13:40 pm
por Shout
[Pregunta]: Detectar cambió en un input en especifico (JS)
Desarrollo Web
Leguim 3 3,216 Último mensaje 4 Diciembre 2019, 17:04 pm
por Leguim
[Pregunta]: PHPSESSID cookie
PHP
Leguim 1 2,862 Último mensaje 10 Agosto 2020, 20:58 pm
por mchojrin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines