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 :

Session différente par onglet


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut Session différente par onglet
    Bonjour à tous!

    Je rencontre un problème pour avoir une session différente par onglet, j'explique:

    A la fin du script php j'enregistre l'url complète en session, ce qui me permet sur la requete qui suit de savoir ou l'utilisateur se trouvait avant. Si je doit faire un retour arrière, je n'ai plus qu'a appeler cette url et de rediriger vers celle-ci avec php.

    ça marche nickel sauf lorsque l'utilisateur navigue par onglet.... si il change d'url dans l'onglet 1 et que ensuite il fait une action dans l'onglet 2, php le renvoie vers l'url enregistrée via l'onglet 1.... Donc tout mon système est foutu

    Je ne sais pas comment faire autrement! Y a bien la soution d'indiquer l'url en parametre dans la requete mais je trouve ça moche et ça fait des urls à rallonge....

    Avez-vous une astuce?

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    C'est justement le fait d'enregistrer l'URL dans la session qui cause problème.
    Normalement il n'y pas lieu de faire ainsi.

    Pourquoi ne pas mettre l'url de page précédente, la vrai page ?

    Les cas où il semble utile de savoir dans quelle page l'utilisateur se trouvait, c'est lorsqu'il tente d'afficher une page qui demande une identification.
    Là, on enregistre la page où il se trouvait, il s'identifie et hop, on le redirige là où il souhaitait aller.
    Sinon, le plus souvent on sait quelle est la page précédente non ?

  3. #3
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    C'est justement le fait d'enregitrer l'URL dans la session qui cause problème.
    Normalement il n'y pas lieu de faire ainsi.
    Comment fait-on alors?

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Comment fait-on alors?
    En mettant le nom de la page tout simplement.
    Si la personne se trouve dans la rubrique 2, et bien on mets un lien vers la rubrique 1, par exemple.
    Il n'est utile ici d'enregistrer quoi que ce soit en session, non ?


    Mais c'est à toi d'expliquer comment tu effectue les choses, et peut être qu'on verra un problème.

  5. #5
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Oui tu as raison il faut que j'explique un minimum, mais ceci n'est pas chose simple!
    Déjà, je suis dans une architecture mvc (Zend Framework).... juste pour info. Mais ceci concerne plus une pratique générale que du ZF en particulier.

    Bon je me lance:

    J'ai un catalogue en ligne qui affiche des articles, j'ai deux pages bien distinctes:
    - la liste des articles avec des parametres de filtre d'affichage(page, nom etc...) dans l'url ex. 'http://monsite.com/article/liste?page=1&order=title&way=asc'
    - la fiche article 'http://monsite.com/article/fiche?article=1'

    Dans la liste d'articles j'ai pour chaque article:
    - un lien 'voir' me permettant d'aller sur la fiche
    - un lien 'editer' me permettant d'aller vers la page d'édition de l'article

    Dans la fiche article, j'ai :
    - un lien 'editer' me permettant d'aller vers la page d'édition de l'article
    - un lien 'retour' me permettant de retourner d'ou je viens

    Dans la page d'édition de l'article je souhaite générer une url de 'retour' qui doit refrabriquer l'url d'où je viens au post du formulaire ou si l'utilisateur clique sur retour, je dois donc être en mesure de savoir où est-ce que je me trouvais précédement (dans la liste ou dans la fiche) et quels étaient les parametres.

    Je pense que la seule solution est de renvoyer les parametres dans l'url et d'ajouter des parametres genre je suis en edition et j'arrive de la liste, l'url serait
    '/article/editer?article=1&page=1&order=title&way=asc&oldAction=liste'

    Mais ceci est fastidieux car si un jour je décide d'ajouter un parametre dans liste ou que j'arrive d'ailleur dans l'édition, je doit surveiller que tout ceci ne va pas interférer lorsque j'arrive sur la page d'édition.

    Si tu as mal au crane j'ai de l'aspirine dans mon bureau! Je suis vraiment désolé si c'est difficile à comprendre, j'ai moi même du mal à expliquer.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Dans la page d'édition de l'article je souhaite générer une url de 'retour' qui doit refrabriquer l'url d'où je viens au post du formulaire ou si l'utilisateur clique sur retour, je dois donc être en mesure de savoir où est-ce que je me trouvais précédement (dans la liste ou dans la fiche) et quels étaient les parametres.
    Avec le HTTP_REFERER, ça devrait être possible normalement, non ?

    C'est vrai qu'il y a des cas particuliers, j'en ai même donné un qui justement pourra difficilement ce faire sans les sessions, mais il faut reconnaitre aussi que naviguer entre 2 fenêtres ou onglets en parallèle n'est pas une navigation tout a fait normal.
    Faut voir si le problème vaut le coup d'être traiter.
    C'est un peu comme si ton utilisateur supprimait ses cookies d'un coup comme ça, et qu'il te dis que c'est anormal qu'il se déconnecte.
    Faut il traiter le cas ?


    Je reconnais que là, ça risque d'être un peu compliqué de contrer ce phénomène.
    Le plus simple, ça ne va pas te satisfaire à mon avis, mais c'est de ne pas proposer de lien en retour, en tout cas, pas avec ton principe.
    La personne peu retourner là où elle était avec le retour du navigateur.
    Justement, tu pourrais exploiter Javascript, et l'historique (back - 1).

    Sinon, peut être faudrait il vérifier vers où le retour pointe, et le créer que si c'est une page semble correcte.

    Enfin, je te donne ce qui me viens à l'esprit.
    ZF, c'est au-dessus de mes connaissances déjà.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/10/2011, 20h48
  2. Sessions partagées par deux serveurs différents
    Par guy777 dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2008, 14h07
  3. Une session differente par onglet ?
    Par bulkathos dans le forum Langage
    Réponses: 1
    Dernier message: 18/03/2008, 17h06
  4. Sessions différentes par onglet sous Firefox
    Par seblo_scoqi dans le forum Langage
    Réponses: 7
    Dernier message: 04/12/2007, 15h10
  5. TValueListEditor : Avoir des couleurs différentes par rangée
    Par Griswold dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/08/2004, 19h41

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