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 :

Problème de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut Problème de session
    Bonjour à tous
    J'ai vu pas mal de problème de session sur le forum, mais le mien est on ne peut plus bizarre.
    Je possède un site chez lycos ou je souhaitais installer une nouvelle version avec plus de services et suppression des frames. Pour la connection des abonnés, j'utilise une page d'identification ou je code le login et le mot de passe puis je les enregistre avec session_register. Sur l'ancienne version, tout se passe bien. Sur la nouvelle version qui utilise la même page d'identification, impossible d'enregistrer les paramètres codés avec session_register et je n'ai pas de message d'erreur. le site me renvoit toujours à la page d'identification.
    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    salut,
    t'as bien mis les session_start() partout?
    sinon t'as essayé avec $_SESSION['chose']=$truc au lieu du session_register?

  3. #3
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    le session_start() est-il bien la premiere chose que tu envoye au serveur ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut
    Effectivement, toutes mes pages commence par session_start(). Je ne pense pas que ce soit un problème de code, car le site fonctionne parfaitement avec l'ancienne version qui utilise pour la plupart les mêmes pages de code. Ne serait-ce plutôt pas du à la suppression des frames?

  5. #5
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    dans ce cas, il faudrait qu'on en sache plus sur la structure de tes codes

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut
    Voici comment est faite ma structure qui je le rappelle fonctionne trés bien avec l'ancienne version.
    Lorsque qu'un abonné veut se logger, il accède à un formuliare tout à fait standard où il renseigne son login et son mot de passe. Ces données sont ensuite cryptées par une page identification et comparées aux données de la base de données client. Si la réponse est bonne, j'enrigistre les paramètres avec session_register sinon je renvoi au formulaire avec un message d'erreur.
    Je tiens à préciser que la nouvelle version fonctionne trés bien en serveur local avec easyphp.
    J'ai également comparé le phpinfo() de lycos et celui d'easyphp, les variables sont les même en ce qui concerne register_global.
    Merci pour votre aide

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Par défaut
    Je pense que ce serais bien que tu nous passes au moins un morceau de ton code afin qu'on se fasse une meilleure idée de ce que tu as fais, et sans doute nous trouverions la solution à ton probleme plus facilement

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut
    Voici une partie de la page formulaire (Je nai pas mis la totalité du script de mise en page)
    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
    26
    <table border=0 align=center width=800 height=10>
    <tr>
        <th width=800 align=center valign=center bgcolor=cb0033><font color=fff3af>Identifiez-vous</font>
        </th>
    </tr>
    </table>
     
    <table border=0 align=center width=800 height=10>
    <tr>
        <td width=800 align=center valign=center bgcolor=fff3af><font face=verdana size=2 color=cb0033>
        Login</font>
    <tr>
        <td width=800 align=left valign=center bgcolor=fff3af>
         <form method='post' action='../../menu/autorisation.php?ask=compte'>
         <div align = center><input type='text' size='16' name='essailogin'>
    <tr>
        <td width=800 align=center valign=center bgcolor=fff3af><font face=verdana size=2 color=cb0033>
        Mot de passe</font>
    <tr>
        <td width=800 align=left valign=center bgcolor=fff3af>
         <div align = center><input type='password' size='16' name='essaipassword'>
    <tr>
        <td width=800 align=center valign=center bgcolor=fff3af>
         <div align = center><input type='submit' value='OK'>
    </table>
    </form>
    Voici le code de ma page identification
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    $query0=mysql_query("select * from client where Login='$essailogin' ");
    $reponse=mysql_num_rows($query0);
     if($reponse!="0")
    {
    $query="select * from client where Login='$essailogin'";
    $req=mysql_query($query,$link);
    while ($row=mysql_fetch_row($req))
    {
    $client=$row[0];
    $renum=$row[1];
    $nom=$row[2];
    $prenom=$row[3];
    $datenaissance=$row[4];
    $mail=$row[5];
    $adresse=$row[6];
    $ville=$row[7];
    $departement=$row[8];
    $inscription=$row[9];
    $login=$row[10];
    $password=$row[11];
     
       if($password==$essaipassword)
        {session_start();
         session_register("client");
         session_register("nom");
         session_register("prenom");
         session_register("datenaissance");
         session_register("mail");
         session_register("login");
         session_register("password");
         session_register("ville");
         session_register("adresse");
         session_register("departement");
         header("message.php?ac=yes");
        }
        else
       {header("message.php?ac=no");
       }
    }
    }
    et voici le début d'une des pages réservé au abonnés
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?
    session_start();
     
    echo"
    <html>
    <head>
    <title>-</title>
    </head>
    
    <body bgcolor=fff5af link=000000 vlink=000000 alink=000000>";
     
     
    include("../../menu/menu/menu_phil.php");
     
    echo"
    <br>
    
    <table border=0 align=center width=800 height=3>
    <tr>
        <th width=800 align=center valign=center bgcolor=cb0033>
        </th>
    </tr>
    </table>
    
    <table border=0 align=center width=800 height=40>
    <tr>
        <th align=center valign=center bgcolor=fff5af><font size=+1 face=verdana color=cb0033>
    VOS MESSAGES</font>
    </table>
    
    <table border=0 align=center width=800 height=3>
    <tr>
        <th width=800 align=center valign=center bgcolor=cb0033>
        </th>
    </tr>
    </table>";
    etc...
    Qu'en pensez vous?

  9. #9
    Membre émérite Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Par défaut
    D'après la doc officielle sur la fonction session_register():
    Note : Il n'est actuellement pas possible d'enregistrer des ressources dans les sessions. Par exemple, vous ne pouvez pas créer de connexion à une base de données, et stocker la connexion dans une variable de session. Elle ne sera pas valide lors de la prochaine page. Les fonctions PHP qui retournent des ressources sont identifiées avec le type resource dans leurs définitions. Une liste de fonctions qui retournent des ressources sont disponible dans l'annexe types de ressources.
    C'est ton cas donc utilise plutot la variable $_SESSION.

    EDIT: Au passage la boucle while ne sert à rien vu que tu identifie qu'un seul membre donc une seule ligne de résultat à traiter.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut
    C'est vrai mais uniquement si la variable register_global de php est sur OFF. Or dans mon cas, sur lycos elle est sur ON et de plus ce script fonctionne avec l'ancienne version . La grosse différence entre les deux version est l'utilisation de frame dans l'ancienne version sinon au niveau enregistrement des variables c'est la même chose.
    ???

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Par défaut
    Je viens de modifier les session_register()
    par les $_SESSION['truc']=$truc
    ça marche en serveur local avec easyphp mais toujours pas avec l'hébergement lycos.
    Je ne sais plus que penser...

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, 10h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 11h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 19h25
  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, 15h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 10h21

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