8796 sujets

Développement web côté serveur, CMS

Bonsoir,
Pouvez-vous m'aider ?

J'aurais voulu insérer une adresse email dans un cookie.
Le souci c'est que le "@" devient "%40" dans le cookie.
Cette zone est donc inutilisable pour envoyer un mail par la suite à cette adresse email.
Comment faire pour solutionner ce petit souci ?

J'ai essayé

$loginemail = "truc@bidule.fr"
setcookie('CFVemail', $loginemail, time() + 10 * 365 * 24 * 3600, null, null, false, 


J'ai aussi essayé

$loginemail = "truc@bidule.fr"
setcookie('CFVemail', utf8_decode($loginemail), time() + 10 * 365 * 24 * 3600, null, null, false, 


j'ai encore essayé

$loginemail = "truc@bidule.fr"
setcookie('CFVemail', utf8_encode($loginemail), time() + 10 * 365 * 24 * 3600, null, null, false, 


Au lieu d'obtenir dans le cookie 'CFVemail', la valeur truc@bidule.fr
J'obtiens toujours dans le cookie 'CFVemail', la valeur truc%40bidule.fr


Comment faire.
Par avance merci pour votre précieurse aide.
Modifié par jytest (27 Oct 2010 - 17:28)
une idée comme ça (bon un peu violent, mais efficace):

$loginemail = "truc@bidule.fr"; 
$loginemail2=str_replace('@','%40',$loginemail);
setcookie('CFVemail', $loginemail2, time() + 10 * 365 * 24 * 3600, null, null, false, 
Voici ce que j'avais fait :
... et cela fonctionne !!!!

Mais n'y a-t-il pas une méthode plus propre que cette bidouille ???

Pour l'enregistrement du cookie :

$loginemail = "truc@bidule.fr";
setcookie('CFVemail', utf8_encode($loginemail), time() + 10 * 365 * 24 * 3600, null, null, false, true);


Puis en lecture de cookie :

$email = $_COOKIE['CFVemail'];
$email =str_replace('%40','@',$email);