Page 1 sur 1
Fonction cookie_destroy();
Posté : 15 mars 2012, 08:33
par MEGAFILES
Bonjour à tous, je viens de faire la fonction cookie destroy qui est plutôt bien !
public static function DestroyCookies()
{
$cookies = array("cookname", "cookname");
foreach ($cookies as $key)
{
if (isset($_COOKIE[$key]))
{
unset($_COOKIE[$key]);
return setcookie($key, NULL, -1);
}
}
}
dans mon class.core.php
et dans mon global.php
function cookie_destroy()
{
global $core;
return $core->DestroyCookies();
}
N'hésitez pas à proposer une amélioration à ce code :p
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 10:09
par xTG
Si ton but est de supprimer tous les cookies de ton domaine le mieux est de parcourir le tableau $_COOKIES plutôt qu'un tableau avec valeur fixes.
Ainsi le jour où tu rajoutes un cookie tu n'auras pas à revenir dans cette fonction pour effectuer des modifications.
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 13:19
par MEGAFILES
Je ne vois pas comment m'y prendre !
Donc j'utilise if (isset($_COOKIE)) ?
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 15:30
par Mazarini
Regardes du coté de l'instruction foreach
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 22:07
par MEGAFILES
JE dois changer au niveau de
$cookies = array("cookname", "cookname");
?
Perso, j'ai changé par $_COOKIE et ça met une erreur, comment dois-je my-prendr E?
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 22:16
par xTG
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 22:18
par MEGAFILES
Oui, j'ai essayé avec ça et ça ne fonctionne pas!
public static function DestroyCookies()
{
$cookies = $_COOKIE;
foreach ($cookies as $key)
{
if (isset($_COOKIE[$key]))
{
unset($_COOKIE[$key]);
setcookie($key, NULL, -1);
}
}
}
Re: Fonction cookie_destroy();
Posté : 15 mars 2012, 22:43
par MEGAFILES
Voici le correctif exact !
public static function DestroyCookies()
{
if (isset($_COOKIE))
{
foreach ($_COOKIE as $key => $value) // Ne pas enlever => $value
{
unset($_COOKIE[$key]);
setcookie ($key, NULL, time() - 3600);
}
}
}
Re: Fonction cookie_destroy();
Posté : 16 mars 2012, 08:41
par xTG
Tu peux te passer du isset(), l'array $_COOKIE existe toujours et ce même s'il n'y a pas de cookie.