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

Langage PHP Discussion :

Serialize et Unserialize


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut Serialize et Unserialize
    Bonjour,

    je viens faire mon noob sur le fofo...

    Qu'est-ce qui ne va pas s'il vous plait ?

    page formulaire html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <input type="checkbox" value="1" name="opt[]" />
    <input type="checkbox" value="2" name="opt[]" />
    <input type="checkbox" value="3" name="opt[]" />
    <input type="checkbox" value="4" name="opt[]" />
    <input type="checkbox" value="5" name="opt[]" />
    page de traiement php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_POST['opt']))
    {
    header("location:etape-1.php?opt=".serialize($_POST['opt']));
    }
    else
    {
    //traitement normal du script
    }
    page etape-1.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(isset($_GET['opt']) AND $_GET['opt'] != NULL)
    {
    $opt = unserialize($_GET['opt']);
    foreach($opt as $value)
    {
    echo count($opt)."<br />";
    echo $value."<br />";
    }
    }
    Si je coche les 3 premières "checkbox" j'obtiens :

    -en url : opt=a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"1";}
    -le foreach crée une erreur php
    -le value affiche rien(normal)

    Merci à tous pour vos réponses.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    il dis quoi comme erreur t'as verifié avantl e foreach a quoi correspond $opt(var_dump($opt))

    chez moi ca donne
    essaye avec un

    rawurlencode(serialize($_POST['opt']))

  3. #3
    Membre éprouvé Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Points : 1 241
    Points
    1 241
    Par défaut
    le code marche chez moi egalement.
    T'as pas une erreur ailleurs dans ton code ?

  4. #4
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut
    J'ai comme erreur argument non valide pour le foreach.

    Avez-vous testé le script sur trois fichiers différents ? ou avez-vous fait tout l'algo sur le même fichier ?

    Si je fais count($opt) hors de la boucle ça me donne 1 et si je fais echo $opt ça affiche rien.

    J'ai trouvé une solution pour le moment qui est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="checkbox" value="1" name="opt[]" />
    <input type="checkbox" value="2" name="opt[]" />
    <input type="checkbox" value="3" name="opt[]" />
    <input type="checkbox" value="4" name="opt[]" />
    <input type="checkbox" value="5" name="opt[]" />
    page de traiement php :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    session_start();
     
    if(isset($_POST['opt']))
    {
    $_SESSION['options'] = $_POST['opt'];
     
    header("location:etape-1.php");
    }
    else
    {
    //traitement normal du script
    }
    page etape-1.php :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    session_start();
     
    if(isset($_SESSION['options']) AND $_SESSION['options'] != NULL)
    {
    foreach($_SESSION['options'] as $value)
    {
    echo $value."<br />";
    }
    }
    Et ça marche... sinon je n'ai pas d'erreur php dans ma page de plus j'ai également vérifié qu'il n'y est pas de doublon de dénomination de variable.

  5. #5
    Membre éprouvé Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Points : 1 241
    Points
    1 241
    Par défaut
    je n'ai que 2 fichiers en effet mais pour moi ca ne fait aucune différence.
    je ne comprends pas le probleme que tu rencontres.

Discussions similaires

  1. Utilisation de serialize/unserialize et POST
    Par Flynt dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2009, 02h41
  2. [SimpleXML] serialize et unserialize
    Par youtch dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/05/2009, 16h48
  3. Question sur Serialize et unserialize
    Par crashyear dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2007, 14h41
  4. Réponses: 6
    Dernier message: 20/09/2007, 11h11
  5. [Cookies] Pb avec Serialize / Unserialize
    Par Romalafrite dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2006, 12h12

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