Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2006, 11h35   #1
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
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
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 11h38   #2
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
salut,
t'as bien mis les session_start() partout?
sinon t'as essayé avec $_SESSION['chose']=$truc au lieu du session_register?
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 11h43   #3
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
le session_start() est-il bien la premiere chose que tu envoye au serveur ?
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 11h48   #4
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
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?
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 12h13   #5
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
dans ce cas, il faudrait qu'on en sache plus sur la structure de tes codes
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 16h59   #6
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
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
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 18h16   #7
Rédacteur
 
Avatar de loka
 
Homme Romain PERRUCHON
Architecte - Expert Technique
Inscription : novembre 2004
Messages : 2 664
Détails du profil
Informations personnelles :
Nom : Homme Romain PERRUCHON
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Architecte - Expert Technique
Secteur : Service public

Informations forums :
Inscription : novembre 2004
Messages : 2 664
Points : 3 607
Points : 3 607
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
loka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 20h32   #8
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
Voici une partie de la page formulaire (Je nai pas mis la totalité du script de mise en page)
Code :
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 :
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 :
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?
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 20h40   #9
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
D'après la doc officielle sur la fonction session_register():
Citation:
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.
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 20h49   #10
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
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.
???
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 22h19   #11
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 0
Points : 0
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...
lduldu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h04.


 
 
 
 
Partenaires

Hébergement Web