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 :

Aurais-je un problème de session ? [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut Aurais-je un problème de session ?
    Bonjour,

    Ignorant d'où vient mon problème, je suppose que cela est en rapport avec les sessions, mais n'en suis pas vraiment persuadée...

    J'utilise l'excellent panier proposé sur ce site qui fonctionne parfaitement.
    Une fois le panier rempli, le client clique sur le bouton "commander" qui l'envoie sur la page "valider.php".
    Cependant, mes futurs clients devant être identifiés pour valider leur commande, je mets, sur la page "valider.php' qui permet la poursuite de la commande, les quelques lignes ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    session_start(); 
     
      if (!isset($_SESSION['pseudo'])) {
      //si la variable de session n'existe pas
      //je redirige le client vers le formulaire d'identification
      header('Location: http://xxxxxxx.fr/identification.php');
      //on arrête l'exécution
      exit();}
    Ainsi, s'ils ne sont pas identifiés, il vont vers un formulaire "classique" se trouvant sur la page "identification.php" qui leur propose, soit de s'identifier, soit de créer un compte.
    Et là, j'ai un problème : dès que l'on est sur la page "identification.php" et avant même d'entrer une quelconque donnée sur le formulaire, mon panier se retrouve vide (j'ai un rappel du contenu du panier dans mon header).

    Par contre, s'ils s'étaient identifiés avant de valider leur commande et de poursuivre le processus d'achat, je n'ai aucun problème. Le panier et son contenu continuent normalement leur "voyage".

    Je vous précise que j'ai testé ce site en local avec un serveur en php 5.3.6 et sur un serveur "externe" en php 5.2.14 où j'ai un autre site avec rigoureusement le même script, le site fonctionne parfaitement en local et en externe.
    Le serveur sur lequel est placé le site qui me pose problème est en php 5.3.15.

    L'un ou l'une de vous aurait-il déjà eu ce problème ? ou bien une idée d'où il pourrait provenir ?

    Par avance, merci pour votre aide.

    Cordialement,



    Patricia

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu as bien un session_start() au début de identification.php ?

    Est-ce que tu n'aurais pas un mecanisme de destruction de la session sur cette page ?

    Essai eventuellement comme ça pour voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: http://xxxxxxx.fr/identification.php?'.SID);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Merci de m'avoir répondu...

    Citation Envoyé par sabotage Voir le message
    Est-ce que tu as bien un session_start() au début de identification.php ?
    Oui, mais j'avais testé avec et sans session_start()

    Citation Envoyé par sabotage Voir le message
    Est-ce que tu n'aurais pas un mecanisme de destruction de la session sur cette page ?
    Non

    Citation Envoyé par sabotage Voir le message
    Essai eventuellement comme ça pour voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: http://xxxxxxx.fr/identification.php?'.SID);
    Cela ne change rien...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais un
    après le session_start sur chaque page pour voir si l'identifiant de dossier reste le même avant et après.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    Les réponses gentiment apportées à mon problème ne résolvant rien, j'ai voulu, avant de continuer à faire appel aux membres de ce forum, chercher encore un peu par moi-même...
    Après plusieurs heures passées à faire des tests (mon cerveau de sexagénaire ne réfléchit plus aussi vite qu'avant... ) j'ai trouvé !
    Le problème était bien ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: http://xxxxxxx.fr/identification.php');
    Si cette ligne de script ne pose aucun problème en php 5.2, c'est elle qui empêchait les variables mises en session de "voyager" normalement en php 5.3.

    Moi qui ait toujours privilégié l'url complet dans mes redirections, j'ai fini par comprendre que c'était là que cela clochait... il m'a suffi d'ôter "http://xxxxxxx.fr/" de cette ligne (et de toutes celles des redirections de mon site) et donc, d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: identification.php');
    pour que, sans autre changement, cela fonctionne...

    Encore merci à "sabotage" pour le temps qu'il a passé à me répondre.



    Patricia

  6. #6
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut [PHP 5.3] Aurais-je un problème de session ? - MAINTENANT, C'EST VRAIMENT RÉSOLU
    Bonjour,

    Je reviens sur ce post car la solution que j'avais trouvée :
    il m'a suffi d'ôter "http://xxxxxxx.fr/" de cette ligne (et de toutes celles des redirections de mon site) et donc, d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: identification.php');
    pour que, sans autre changement, cela fonctionne...
    n'était pas valable dans tous les cas.

    En effet, si, pour aller d'une page à l'autre dans mon espace membre, ce renvoi à une identification pour les visiteurs non encore identifiés fonctionnait parfaitement, cela m'a posé problème lors du retour des données provenant de Paypal après règlement, car les données de session ne suivaient pas, une nouvelle identification du visiteur était nécessaire et une nouvelle session se créait.

    C'est en cherchant pourquoi j'avais aussi ce problème avec Paypal, que j'ai fini par trouver (la hotline de Paypal n'ayant pu m'aider à solutionner le problème). En effet, ayant deux sites différents dont les paiements se font sur le même compte Paypal, j'ai dû indiquer une ligne de retour vers ma page d'accusé réception de paiement, dans le formulaire d'envoi à Paypal.
    J'ai utilisé le même script de formulaire que celui de mon premier site, qui fonctionnait sans problème en php 5.2, et l'ai adapté pour mon second site qui lui est en php 5.3, et cela ne marchait pas.

    J'ai fini par trouver la bonne solution que je vous donne, si cela peut servir à quelqu'un.

    Dans le formulaire d'envoi à Paypal, au lieu de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="return" value="http://nomdusite/membres/paiement_ok.php" >
    j'écrivais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="return" value="http://www.nomdusite/membres/paiement_ok.php" >
    tout fonctionne parfaitement.

    Ce sont ces "www." manquants qui étaient la cause de tous mes problèmes de redirection de mon site.




    Patricia

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

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 10h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 18h25
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 14h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 09h21

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