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 :

Mise en session d'objet et récupération problématique


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut Mise en session d'objet et récupération problématique
    Bonjour,
    je suis entrain de modifier la gestion de mon premier développement en mode objet.
    Je rencontre un souci.
    J'ai fait une inscription en ligne.
    Pour conserver les variables de page en page, j'utilise les sessions.
    Pour le moment tout va bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ]$adherent = new Adherent();
    $adherent->set_nom($_SESSION["nom1"]);
    (trim($_SESSION["portable1"]) == "" ? $adherent->set_portable("non renseigné") : $adherent->set_portable($_SESSION["portable1"]));
     
    //le problème est ici
    $sessionTarif = $_SESSION["tarif"];
    $tarif = new Tarif($sessionTarif);
    Lorsque je fais un echo $_SESSION["tarif"], j'ai bien le type de tarif, mais lorsque je recharge la page, je perd la valeur, et il m'affiche "object", alors que pour les autres variables de sessions, il n'y a pas de souci.
    Je me dis, que ça vient surement de l'instanciation.

    J'ai fait des recherches sur le net qui conseillait de mettre les déclarations
    des fichiers class avant session_start(), mais pour moi rien ne change.

    Configuration : je suis chez ovh.

    La seule solution serait de créer une autre variable tarif, mais là, ça devient moins propre.
    Je suis bloqué!!!!!!

    Merci d'avance

  2. #2
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    en effet la solution depuis php5 est d'inclure tes fichiers contenant la descriptions de tes classes, avant le session_start();

    dans le sens ou la serialisation se fait automatiquement lors du passage en session.

    Si ca ne fonctionne pas, serialise toi même ton objet et déserialise le

    Aide : serialize() unserialize()

    si tu ne vois pas de quoi je parle, pense à la logique de compression :
    exemple de ton problème avec une logique de compression :

    ton objet : CV.doc
    tu le serialise : devient CV.zip contenant CV.doc
    tu l'envois
    tu le deserialise là ou tu en as besoin , CV.zip devient CV.doc

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut merci
    merci, avec ton idée, j'ai aussi fait une recherche, et j'ai remarqué que je m'y prenais mal au niveau du développement,
    je vais nettoyer un peu mon code en espérant que ça marchera!!!!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut nikel ça fonctionne
    Merci beaucoup pour ton aide,
    finalement au départ, ça marchait pas ce que tu me disais car de mon côté c'était mal codé.
    J'ai fait des recherches, et j'ai trouvé un truc intéressant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $_SESSION["adherent"] = new Adherent();
    ensuite
    utiliser 
    $_SESSION["adherent"]->get_nom();
    Avec ce système, j'instancie qu'une seule fois au niveau de la première page d'inscription et j'utilise facilement la session
    Car avant j'instancié à chaque fois dans chaque page, en récupérant la variable $_SESSION
    par ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tarif = new Tarif($_SESSION["tarif"]);
    ça passait plus au bout de la troisième page
    Merci encore, car avec ton aide, j'ai pu effectuer une recherche précise et améliorer mille foix mon code qui devient plus propre

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    J'ai un souci en essayant de sauvegarder un session SOAP dans la variable $_SESSION.

    en fait je crée le SOAP client avec
    $session = new SoapClient("blabla.wsdl",
    array (
    'location' => $url,
    'uri' => $url,
    'soap_version' => SOAP_1_1,
    'trace'=>'1'
    ));
    $_SESSION['session']=$session;

    dans un deuxième appel je test si la session a été crée

    if (session_is_registered("session")) {


    return $_SESSION['session'];

    }
    par contre quand je récupère le $_SESSION['session'] et je l'utilise j'ai l'erreur suivante :
    SoapClient::__call(): supplied argument is not a valid sdl resource in line 47
    SoapFault Object( [message:protected] => Error finding "uri" property [string:private] => [code:protected] => 0

    Est ce qu'il y a un autre moyen pour sauvegarder la session SOAP ,sans utiliser le tableau $_SESSION ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/04/2007, 17h59
  2. [Sécurité] Mise en session et FireFox
    Par Dlfine dans le forum Langage
    Réponses: 8
    Dernier message: 29/06/2006, 16h19
  3. [PEAR][HTML_QuickForm] Mise en session
    Par jeff_! dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 27/06/2006, 08h59
  4. [Sécurité] Variables et mise en session
    Par kcizth dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2006, 15h32
  5. [Sessions] Session + Serialize + Objets?
    Par Chiwawa dans le forum Langage
    Réponses: 2
    Dernier message: 28/09/2005, 20h32

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