IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Récupération de cookie codé JSON


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    %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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 php : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Ton cookie est url encodé ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    json="%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"
     
    json=decodeURIComponent(json);
    json=JSON.parse(json);
    console.log(json["2"]);;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Merci, voici déjà un pas de fait. Maintenant, j'aimerais savoir:
    - comment j'aurais pu savoir qu'il s'agissait d'un codage url (je ne savais même pas que ça existait),
    - comment restituer mon cookie sous forme de tableau comme il l'était à l'enregistrement,
    - pourquoi json["2"] qui me retourne uniquement le chiffre 2.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    - La profusion de % dans ton string aurait dû te mettre sur la piste d'un urlencode ... (question d'habitude)
    - https://jsfiddle.net/4v26fr46/
    - parce que tu n'as pas du prendre le dernier code fourni...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] récupération de cookie dans une requête
    Par benjamin002 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/11/2010, 15h33
  2. [MySQL] Récupération valeurs cookie
    Par upthere dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/06/2010, 09h04
  3. récupération de cookie et appel de script
    Par trucentete dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/04/2009, 15h51
  4. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05
  5. [Cookies] Récupération de cookie de session...
    Par Tizard dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2005, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo