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 :

recupérer des variables seralize avec prototype dans php


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut recupérer des variables seralize avec prototype dans php
    salut à tous ...
    j'ai un petit souci avec prototype ...
    j'envoi le contenu d'un formulaire en post avec la fonction serialize de prototype qui permet de tansformer en string le contenu d'un formulaire ...

    je récupère donc une variable texte dans mon script php de traitement qui ressemble à ça

    groupe%5B5%5D%5B%5D=50&groupe%5B5%5D%5B%5D=40&groupe%5B5%5D%5B%5D=30&groupe%5B5%5D%5B%5D=20&groupe%5B5%5D%5B%5D=10&Submit=Enregistrer%20les%20modifs
    en gros ... comment je fais pour transformer cette chaine en un tableau expoitable en php comme si mes variables arrivaient depuis une soumission "classique" de formulaire ?

    je me bat avec la fonction unserialize de php mais ça ne donne rien
    thanks
    @+

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    en effet, unserialize de php ne travail pas de la même manière.

    tu dois pouvoir poster ton formulaire avec une requête Ajax de type POST
    en lui donnant les données sérialisées. Ceci produira une requête identique
    au POST "naturel" du formulaire, donc tu récupères tes données avec $_POST
    en php.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    salut et merci,
    ben justement il me semble que non puisque dans mon javascript j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function saveDefiVisiblePar(id_defi)
    {
      var url = 'ajax/save_defi_visible_par.php';
      $('chkorder').innerHTML = '';
      var myAjax = new Ajax.Request(
          url, 
          {
            method: 'post',
         asynchronous: false,
         contentType: 'application/x-www-form-urlencoded',
         encoding: 'UTF-8',
         parameters: { 
    		  datas: $('grpdefi'+id_defi).serialize()
    	 },
    		etc...
                    etc...
                    etc...
    et que dans php je récupère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_POST['datas'] = groupe%5B5%5D%5B%5D=50&groupe%5B5%5D%5B%5D=40&groupe%5B5%5D%5B%5D=30&groupe%5B5%5D%5B%5D=20&groupe%5B5%5D%5B%5D=10&Submit=Enregistrer%20les%20modifs
    et pas un tableau groupe utilisable ...
    j'ai tenté un parsage manuel des données ... mais c'est pas très portable comme fonction du coup ... je pens que ça doit exister ... sinon quel intéret de sérializer les données d'un formulaire !??

    ça fait trois heures que je cherche partout sur le net sans trouver un seul tuto ou post dans un forum qui traite de ça !!!

    j'en reviens pas ... j'ai toujours l'impression d'avoir des problèmes que personne n'a ....

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Si mes souvenirs de prototype sont encore assez frais,
    Il faut passer ta chaine directement dans parameters:

    Si tu passe un objet il re-url-encode ta chaine (qui est
    déjà url-encodées) pour la mettre en tant que valeur
    correspondant à la clé 'datas'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        parameters: $('grpdefi'+id_defi).serialize()
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut simple suggestion ^^
    Est-ce qu'il n'y a pas un niveau d'imbrication en trop dans la manière d'ajouter la chaîne de paramètres au requêteur ?
    Je m'explique : ne faudrait-il pas plutôt faire :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    function saveDefiVisiblePar(id_defi)
    {
      var url = 'ajax/save_defi_visible_par.php';
      $('chkorder').innerHTML = '';
      var myAjax = new Ajax.Request(
          url, 
          {
            method: 'post',
         asynchronous: false,
         contentType: 'application/x-www-form-urlencoded',
         encoding: 'UTF-8',
         parameters: $('grpdefi'+id_defi).serialize(),
    		etc...
                    etc...
                    etc...
    et récupérer tes paramètres (individuellement) côté PHP le plus classiquement du monde par :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $param1 = $_POST['nomParam1'];
    $param2 = $_POST['nomParam2'];
    // etc.
    ?

    (ps : au fait, il y a un sous-forum "prototype & scriptaculous", jette peut-être un oeil à d'éventuels problèmes similaires que d'autres auraient pu rencontrer...)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  6. #6
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    qui dit recupérer dit ajax non ?
    donc du string ...
    si c'est un hash un eval suffit non ?
    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 !

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut

    Est-ce qu'il n'y a pas un niveau d'imbrication en trop dans la manière d'ajouter
    c'était ça !!!
    raaaaaahhhh pinaise !!

    j'ai cherché ça comme un con pendant 4h sur le net .... pour rien



    MERCI à VOUS TOUS !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/12/2009, 16h27
  2. Exécuter des requête SQL (avec ou sans PHP) dans javascript
    Par mir540 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2009, 10h03
  3. [PHP-JS] comment recupérer des variables javascript dans un fichier php
    Par domino_dj dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/02/2007, 11h46
  4. Réponses: 18
    Dernier message: 04/08/2006, 16h10
  5. [JSP][débutant] recupérer des variables...
    Par yass dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 08/04/2004, 11h05

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