Récupération de cookie codé JSON
Bonjour,
Je travaille avec Chrome.
J'ai un cookie codé en JSON par un script PHP.
Le cookie est sous la forme:
Code:
%7B%222%22%3A%7B%22font%22%3A%5B%22Arial%22%2C%22Arial%22%2C%22Arial%22%5D%2C%22size%22%3A%5B%2212%22%2C%2212%22%2C%2212%22%5D%2C%22color%22%3A%5B%220%2C0%2C0%22%2C%220%2C0%2C0%22%2C%220%2C0%2C0%22%5D%2C%22insField%22%3A%5B%5B%22SNC%22%5D%2C%7B%221%22%3A%22dat_individus.sexe%22%2C%222%22%3A%22dat_individus.prenom%22%2C%223%22%3A%22dat_individus.nom%22%7D%2C%7B%224%22%3A%22dat_individus.statut%22%7D%5D%2C%22insSep%22%3A%7B%221%22%3A%7B%222%22%3A%22+%22%2C%223%22%3A%22+%22%7D%7D%2C%22save%22%3A%22JS2%22%7D%2C%223%22%3A%7B%22font%22%3A%5B%22Arial%22%2C%22Arial%22%5D%2C%22size%22%3A%5B%2212%22%2C%2212%22%5D%2C%22color%22%3A%5B%220%2C0%2C0%22%2C%220%2C0%2C0%22%5D%2C%22insField%22%3A%5B%5B%22SNC%22%5D%2C%7B%221%22%3A%22essai%22%2C%222%22%3A%22ffff%22%2C%223%22%3A%22sup%5Cu00e9rieur%22%7D%5D%2C%22insSep%22%3A%7B%221%22%3A%7B%222%22%3A%22%5Cu00a0-%5Cu00a0%22%2C%223%22%3A%22+%22%7D%7D%2C%22save%22%3A%22ghj%22%7D%7D
La console me renvoie
Code:
1 2 3
| Uncaught SyntaxError: Unexpected token % in JSON at position 0
at JSON.parse (<anonymous>)
at HTMLSelectElement.<anonymous> |
Je vois bien que mon cookie commence par un % mais comment remédier au problème.
Si cela peut aider voici le code PHP qui enregistre le cookie:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // Sauvegarde de la configuration
$save = trim($_POST['save']);
if (!empty($save)) {
$cookies = [];
if (isset($_COOKIE['save'])) {
// Si le nom de sauvegarde existe déjà on détruit l'ancienne sauvegarde
$cookies = json_decode($_COOKIE['save'], true);
foreach ($cookies as $key=>$cookie) {
if ($cookie['save'] === $save) unset($cookies[$key]);
}
}
$cookies[] = $_POST;
setcookie('save', json_encode($cookies), time() + 3600*24*3650);
} |
Pour info la lecture du cookie sous php fonctionne parfaitement.