|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Bonjour,
je travail actuelement sur un site en pseudo frame. Mon problème est que avant d'acceder au site en pseudo-frame, il faut s'identifié. J'ai donc rélaisé un script. Je peut m'inscire, me connecter pas de problème. Dans tout les script de mon site j'utilise ensuite l'id du joueurs que j'ai passé en variable de sessions comme ceci: $_SESSION['id']. Seulement, je pense que c'est du au pseudo frame, cette varaible est toujours nulle. J'ai donc essayé de mettre des session_start dans tout mes fichiers, en les plaçant avant la balise body, mais à chaque fois j'ai une notice comme quoi une session existe déjà et que la nouvelle sera ignorée. Donc ma session existe bien mais alors pourquoi mes variable de sessions sont toujours vide. Est-ce qu'il existe une astuce pour que pseudo-frame et sessions fassent bon ménage ? Merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : mai 2002 Messages : 860 ![]() |
Comment tu sauvegardes tes valeurs dans la session?
Pseudo frame et session font bon ménage!
__________________
Les règles du forum Cours et tutoriels php Développements web (CSS, (X)HTML,javascript, etc...) Cours et tutoriels MySQL Tutoriels Ajax Initiation à PHP-GTK1 Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles |
|
|
00
|
|
|
#3 | ||||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Bin pour être plus simple, voilà l'initialisation de ma session:
Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
As-tu vérifié la valeur retournée par $data['id']?
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
et y a quelque chose dans $data['id']; ?
tu fais bien un session_start au début des autres pages ? tu as register_globals à ON ou OFF ?
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Alors register_global est a on
Et oui, la valeur renvoyée par Mysql est bonne. EDIT 1: Si je rajoute des session_start au debut des autre page, j'ai le problème que j'ai expliqué en haut. |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Pourrais-tu nous montrer le code de ton script qui pose problème?
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
juste si register_global est a ON, $id = $_SESSION[id], donc si a un moment tu utilises $id ou autre, ta variable de session va disparaitre.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Oui sans problème, mais en fait, c'est tout les script ou j'utilise une variable du type $_SESSION['login'].
Voici un exemple: Code :
Je viens de mettre register_globals à off en local et j'ai le même problème. |
||
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Si tu ne mets pas de session_start() il ne pourra pas récupérer la valeur de $_session['id'] ou des autres variables de session.
Comment déclares-tu tes variables de session? |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
En fait je ne met pas de session_start() car comme je l'ai dit plus haut, j'utilise des pseudo frame et qui si je le remet, j'ai l'erreur suivante:
Code :
[Fri Jul 07 17:43:35 2006] [error] [client 127.0.0.1] PHP Notice: A session had already been started - ignoring session_start() in E:\\www\\medievalheros\\max\\profil.php on line 4, referer: http://127.0.0.1/max/play.php |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
c'est pas pour t'embeter, mais bon les frames c'est pas top.
Apres je vois pas trop d'ou vient ton probleme, mais tu peux faire un print_r($_SESSION); juste apres ton session_start(); et voir quand elles disparaissent ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Bon et bien j'ai fait ce que tu m'a dit dans toute mes pages et à chaque fois j'obtient ça:
Array ( [login] => Pahcixam [id] => 1 ) Donc je comprend plus, Mes valeurs sont bien là Alors pourquoi mes requêtes merdent ? |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
Ca c'est une autre histoire !!
Tein tein teinnnnnnnnn !!! (petite note de musique ...)
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#15 | ||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Par exemple, dans ce code là, le print_r me renvoi ce que j'ai dit tout à l'heure, donc j'ai bien mes valeur de session.
Et à l'execution de ce code: Code :
Code :
INSERT INTO messages VALUES("", "", "2", "2006-07-07 17:58:22", "titre", "test message") Je comprend pas ... |
||
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Je pense que le problème vient de l'architecture de ton application. Mais comme je ne sais pas comment elle est j'ai un peu de mal à trouver une direction de recherche.
|
|
|
00
|
|
|
#17 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Dans ta requête essais d'inverser les simples cotes et les doubles cotes:
Remplace: $sql = 'SELECT user.login as nom_destinataire, user.id as id_destinataire FROM user WHERE id <> "'.$_SESSION['id'].'" ORDER BY login ASC'; Par: $sql = "SELECT user.login as nom_destinataire, user.id as id_destinataire FROM user WHERE id <> ".$_SESSION["id"]." ORDER BY login ASC"; |
|
|
00
|
|
|
#18 | ||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Bin, voilà, ça c'est mon fichier play.php. L'entete le pied et le menu sont en html pur.
Et puis sa appel les page, comme envoyer.php de mon post précédent. play.php: Code :
Code :
SELECT user.login as nom_destinataire, user.id as id_destinataire FROM user WHERE id <> 1 ORDER BY login ASC |
||
|
|
00
|
|
|
#19 | |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Citation:
|
|
|
|
00
|
|
|
#20 |
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Avec les double et les simple. J'ai essayé de faire ça en debut de fichier:
$idenvoyeur = $_SESSION['id'] et de remplacer dans ma requête Toujours le même problème. Je vois vraiment pas pourquoi il veut pas ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com