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

AJAX Discussion :

[AJAX] Ajax et session


Sujet :

AJAX

  1. #1
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut [AJAX] Ajax et session
    Je suppose que la question à déjà été posé, mais je n'ai pas trouvé.

    Voila mon problème

    Sur un site en PHP utilisant des variables de sessions dont notament des class !

    Dans une page lourde (traitement complexe et grande quantité d'informations)
    Une action de l'utilisateur requiere un rafraichissement d'un element (si possible sans recharger la page entière) apres traitement serveur.

    Pour cela, j'ai pensé à AJAX, pour effectuer le traitement et ne rafrachir que l'element modifié.

    Problème,
    la session de la page affichée n'est pas la même que la session de la page invoquée par la requette XMLHttpRequest :
    la fonction session_id() ne retourne pas la même valeur dans la page principal (celle affichant le résulat), et la page invoqué par AJAX (celle effectuant le tratement et renvoyant le résultat).

    Or, le traitement de la page requière les variables de sessions .

    Questions :
    1 - comment faire pour avoir la même session dans la page principal et dans la page invoqué par ajax.

    2 - Si ce n'est pas ppossible d'avoir la même session, comment passer des objets PHP de la page principal à la page invoqué pour effectuer le tratement dans le même contexte.


    Cordialement

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Une bdd, dans lequel tu retiens le session id et l'ip du gars ?

    Mais c'est chiant, y'a surement une autre soluce.

  3. #3
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par narnou
    Une bdd, dans lequel tu retiens le session id et l'ip du gars ?

    Mais c'est chiant, y'a surement une autre soluce.
    pas possible d'utiliser cette solution, car il est fortement possisble que les clients se trouvent dérriere un routeur (NAT dynamique) -> même adresse IP visible pour le PHP.

    merci pour la suggestion

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Ok d'accord, autant pour moi :p

    Et sinon, plus con encore, passer le session id en parametre a ton script appelé par xmlhttp ?

  5. #5
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par narnou
    Ok d'accord, autant pour moi :p

    Et sinon, plus con encore, passer le session id en parametre a ton script appelé par xmlhttp ?
    le session id ne m'est pas util en soit.
    il y a des variables de session et dans ces variables de session, certain ne sont pas type simple (string, numérique ...) mais des objets (classes PHP instancié).
    Et c'est précisément ceux la qui me pose problème.

    Cela dit, si dans une session, je peux récuper les variables d'une autre session à l'aide de son numéro, cela répondrait à mon problème, car je n'aurait plus qu'a passé le numéro de session à l'aide d'aun champ invisible. Mais je ne sais pas comment faire pour récupérer les variable d'une autre session et je doute même que se soit possible, mais je peux me tromper

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Va faire un tour de ce coté :

    http://be.php.net/manual/fr/function.session-id.php

    Si id est fourni, il remplacera l'identifiant courant de session. session_id() doit alors être appelé avant session_start().
    et

    http://be.php.net/manual/fr/function.session-start.php

    session_start() crée une session (ou restaure celle trouvée sur le serveur, via l'identifiant de session passé dans une requête GET, POST ou par un cookie).

    Voila, ca devrait te convenir

    J'en ai appris autant que toi en te répondant, c'est ce que j'aime sur ce forum

  7. #7
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    BINGO !!!!

    avait po lut la doc de la methode session_id jusqu'au bout

    il suffit de passer de manière invisible la valeur du numéro de session et le tour est jouer, je peux récupérer mes variables de session

    je vais metre résolu !!!!

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Désolé je sais que ça date mais je suis arrivé ici par Google.
    J'ai exactement le même souci.
    J'ai un espace membre.
    Lorsque l'utilisateur est connecté et qu'il ouvre une thickbox (popup via Ajax), la page appelée n'est plus sous session.
    Pire, si je la ferme et que je reviens à la page mère, al session est détruite!

    Comment faire ?

  9. #9
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Salut Vive Google !
    Je ne crois pas que l'on expire les POST ici
    Utilises-tu un template pour ton site ?

    Je suppose que ton problème viens du fait que sur la page appelé tu démarre une nouvelle session.

    Moi j'utilise les template pour parer cette merdouille.
    Je déclare ma session dans l'index majeur.

    Enfin je suppose qu'il y'a une meilleur façon.

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

Discussions similaires

  1. [AJAX] Ajax et les sessions
    Par saramery dans le forum AJAX
    Réponses: 12
    Dernier message: 12/02/2010, 18h00
  2. [AJAX] Ajax / Variables de sessions / Frameset
    Par Dortan dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/01/2009, 18h03
  3. [AJAX] Ajax et les sessions PHP
    Par webrider dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2007, 15h44
  4. [JSP/AJAX] Perte de session et de response dans ma JSP
    Par maxbzh56 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/08/2006, 17h34
  5. [AJAX] Ajax, Php, Sessions, OScommerce
    Par Florent08800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/05/2006, 10h57

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