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 non accessible au rafraichissement de la page


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut Session non accessible au rafraichissement de la page
    Salut voilà j'utilise les données de ma session pour pouvoir gérer plusieurs membres...

    Ma page de connexion envois un POST avec "login"

    et sur ma page admin.php j'ai codé ceci;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php 
     
    session_start ();
    if(isset($_SESSION['pseudo']))
    {
        ($_SESSION['pseudo']);
    }
    else
        header("Location:index.php?error=1");
    ?>
     
     
    <?php 
     
    $requete = "SELECT * FROM t_auteurs WHERE auteur_login='".$_SESSION['pseudo']."'";
    $pseudo = mysql_query($requete);
     
    while ($ligne=mysql_fetch_array($pseudo)) 
    {
     $session = $ligne["auteur_id"];
     } 
     
    //echo $session;
    ?>
    $session = a l'ID du membre qui ce connecte pour mes requêtes...

    En local tout fonctionne a merveille, en ligne je me connect, ça fonctionne, il à bien l'ID mais quand je refresh il perd l'id..

    en ligne directement après la connexion, voici admin.php


    je recharge cette même page et je perd ma session visiblement...


    Comment pourrais-je faire pour sauvegarder mon ID? je tourne en rond... d'avance merci a vois :-)

  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
    il perd le post
    de quel post parles-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par sabotage Voir le message
    de quel post parles-tu ?
    En fait j'ai l'impression que ma session n'est pas prise en compte ou est perdue dès le rechargement de la page

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    euh... où enregistres-tu ce fameux id ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    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
    Si tu es herbergé sur free, as-tu bien pensé à créer le repertoire "sessions" ?

    Sinon, commence par faire un test d'une page basique pour juste valider le fonctionnement de tes sessions.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Si tu es herbergé sur free, as-tu bien pensé à créer le repertoire "sessions" ?

    Sinon, commence par faire un test d'une page basique pour juste valider le fonctionnement de tes sessions.
    c'est un hébergement OVH start 1 m

    Citation Envoyé par Celira Voir le message
    euh... où enregistres-tu ce fameux id ?
    je prend le pseudo de la session et avec une requête je récup l'id, comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
     
    $requete = "SELECT * FROM t_auteurs WHERE auteur_login='".$_SESSION['pseudo']."'";
    $pseudo = mysql_query($requete);
     
    while ($ligne=mysql_fetch_array($pseudo)) 
    {
     $session = $ligne["auteur_id"];
     } 
     
    //echo $session;
    ?>

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bon on va prendre le problème dans l'autre sens : peut-on avoir le code de la page admin.php ? la partie qui contient la requête qui plante
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Salut,

    Citation Envoyé par slbpc Voir le message
    je prend le pseudo de la session et avec une requête je récup l'id, comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
     
    $requete = "SELECT * FROM t_auteurs WHERE auteur_login='".$_SESSION['pseudo']."'";
    $pseudo = mysql_query($requete);
     
    while ($ligne=mysql_fetch_array($pseudo)) 
    {
     $session = $ligne["auteur_id"];
     } 
     
    //echo $session;
    ?>
    Il manque l'endroit ou tu alimente ta variable de session $_SESSION['pseudo'] dans ton exemple.
    Le fait qu’elle existe ne signifie pas qu'elle est la valeur que tu attends pour ta requête.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    l'endroit ou j'alimente est sur mon index.php comme dis sur le premier post, dont voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ($nombre>0) {	
    		//on crée la cariable de session
    		$_SESSION['pseudo'] = $_POST['auteur_login'];
    		//on va rediriger vers admin.php
    		header("Location:admin.php");
    	}
    	else {	
    		//on affiche un message d'erreur (je ferme le php pour rentré du script)
    		$erreur = true;
    	}

  10. #10
    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
    Commence par faire le debugage le plus elementaire qui soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($nombre>0) {	
    		//on crée la cariable de session
     
    		$_SESSION['pseudo'] = $_POST['auteur_login'];
    var_dump($_POST['auteur_login']);
    die();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Les hébergement OVH ne demande pas une config particulière pour utiliser les session.
    Il te reste à contrôler les points suivants :
    - Ta page admin as t'elle bien un "session_start();"
    - Le nom "auteur_login" est bien le même entre ton formulaire et ta variable.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Commence par faire le debugage le plus elementaire qui soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($nombre>0) {	
    		//on crée la cariable de session
     
    		$_SESSION['pseudo'] = $_POST['auteur_login'];
    var_dump($_POST['auteur_login']);
    die();
    var_dump($_POST['auteur_login']); = il m'affiche bien mon auteur_login : string(3) "slb"



    Citation Envoyé par ludovic79 Voir le message
    Les hébergement OVH ne demande pas une config particulière pour utiliser les session.
    Il te reste à contrôler les points suivants :
    - Ta page admin as t'elle bien un "session_start();"
    - Le nom "auteur_login" est bien le même entre ton formulaire et ta variable.
    Oui pour les deux

    Cette aprèm, je migre l'administration vers un autre hébergement, question d'être certain...

  13. #13
    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
    il m'affiche bien mon auteur_login : string(3) "slb"
    Maintenant il faut continuer la chaine : est-ce que quand tu arrives sur admin.php apres la redirection, tu as toujours ta variable en session ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par slbpc Voir le message
    Cette aprèm, je migre l'administration vers un autre hébergement, question d'être certain...
    bon ça c'est fait, idem, même problème sur un autre hébergement.

    Citation Envoyé par sabotage Voir le message
    Maintenant il faut continuer la chaine : est-ce que quand tu arrives sur admin.php apres la redirection, tu as toujours ta variable en session ?
    je l'ai quand j'arrive sur, mais si je recharge la page, elle saute

  15. #15
    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
    Met un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_SESSION['pseudo']);
    au debut et a la fin de ta page admin pour voir si la valeur en session disparait vraiment au rechargement ou lors de l'execution de la page.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    voici le problème en vidéo avec les var dump http://vimeo.com/6207336

  17. #17
    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
    Tu ne peux pas avoir une ressource en session : la ressource est juste une reference , le vrai contenu est détruit à la fin de ton script.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Et si tu nous connait la totalité de la page ? au moins tous les morceaux qui concernent cette [#####] de variable de session...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    la pièce est tombée avec une grosse aide d'un amis maître php ^^

    donc en gros maintenant mon index envois en session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($data['auteur_password'] == $pass)
    	{
    		if(!isset($_SESSION))
    		@session_start();
     
    		$_SESSION['auteur_id'] = $data['auteur_id'];
    		$_SESSION['auteur_login'] = $data['auteur_login'];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    session_start ();
    if(isset($_SESSION['auteur_login']))
    {
    	($_SESSION['auteur_id']);
    	($_SESSION['auteur_login']);	
    }
    else
        header("Location:index.php?error=1");
    ?>

    et je réceptionne dans mon admin.php, j'utilise ensuite _SESSION['auteur_login'] et id a ma guise

    Merci a tous, pouvez passer le post en résolut !

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

Discussions similaires

  1. Inclure une page non accessible aux visiteurs
    Par Eden's dans le forum Apache
    Réponses: 5
    Dernier message: 21/02/2010, 21h35
  2. session non declarée au rafraichissement de la page
    Par zebulon94 dans le forum Langage
    Réponses: 4
    Dernier message: 04/02/2010, 15h25
  3. Perte de la session au rafraichissement de la page
    Par potpot06 dans le forum Langage
    Réponses: 4
    Dernier message: 08/01/2009, 16h10
  4. Le rafraichissement de la page change la session
    Par toams69 dans le forum Langage
    Réponses: 3
    Dernier message: 20/12/2008, 12h05
  5. [Dates] Pages non accessible avec file_get_contents
    Par lysandre dans le forum Langage
    Réponses: 9
    Dernier message: 15/05/2008, 22h57

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