|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
Salut
j'ai fais une vaingtaine de page, et la session marchait trés bien, mais là ca ne marche plus ! je ne comprend pas pourquoi ! hier ca marchait dans l'index (page ou j'ai la template et que j'utilise comme cadre avec include pour les autres pages ) : Code :
la connexion s'etablie trés bien au debut mais dés le passage d'une page a l'autre, la session ne marche plus |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
![]() Tu ouvres bien ta session sur chaque page ? Tu n'as pas d'erreur ? Au lieu d'utiliser des fonctions dépréciées (session_register) utilise les super globales $_SESSION (surtout que c'est ce que tu fais juste après). Il y a un truc que je ne comprends pas quand tu fais ça : Code :
Dernière chose : tu redémarres ta session dans le if alors que tu la démarres déjà au début de ton code. Essaie ceci : Code :
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
||||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
Le probleme n'est pas dans l'identification
elle se passe tres bien, mais pkutot quand je passe de page en page : j'ai fais l'identification dans l'index.... puis j'ai un include"autrepage.php"; dans l'autre page, je met le @session_start(); puis quand je teste avec print_r($_SESSION) ca me donne Array() apres quand j'utilise $_SESSION['user'], comme erreur il me donne Undefined index: user in c:\program files\easyphp1-8\www\hahi\autrepage.php on line 5 !!!!! merci |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
Tu devrais peut-être vérifier qu'à la fin du code que tu nous as donné, $_SESSION existe vraiment et conteint quelque chose (en utilisant un print_r ou un var_dump).
Personne n'aurait modifier php.ini entre temps ?
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
J'ai verifié avec print_r($_SESSION) et ca marche dans l'index
mais même quand j'ai fais un lien de index vers index juste pour essayer, la session disparait ! hier tout allais bien ! pour ce qui est du php.ini, moi j'y ai pas touché , mais qu'est ce que je dois verifier dedans ? merci |
|
|
00
|
|
|
#6 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Ce n'est pas en faisant précéder session_start de @ que vous trouverez l'erreur : si la création/récupération des sessions est basée sur les cookies et que vous envoyez quoi que ce soit au client avant, le cookie ne sera pas créé et il ne vous sera donc pas possible de récupérer cette même session sur une autre page. De plus, session_register est mal utilisé et déprécié. Choses que trotters213 vous avez corrigé.
Ce qu'il serait intéressant de savoir c'est si votre identifiant de session reste le même à chaque script (echo session_id() par exemple). |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
j'ai essayé avec le echo(session_id())
et j'en ai mi un a l'index et un dans les autres scripts il est le même dans l'index que dans l'autre script, mais il change a chaque fois que je raffraichi et pour ce qui est du php.ini , c'est impossible car j'aai essayé sur un autre pc et c'est le même probleme merci |
|
|
00
|
|
|
#8 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Avez-vous des messages d'erreur après :
Envoyez-vous quoi que ce soit au navigateur avant l'appel à session_start ? Quelle est la configuration au niveau des sessions (session.use_trans_sid, session.use_only_cookies et session.use_cookies) ? PS : avant de chercher à utiliser vos variables de session, un test avec isset serait certainement approprié. |
|
|
00
|
|
|
#9 | |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
j'ai enlevé les @ et ca me donne ces erreurs :
Citation:
seulelment j'utilise des include dans l'index !! il y a des session_start() dans les scripts que j'ouvre dans l'index !! pour session.use_trans_sid, session.use_only_cookies et session.use_cookies... j'ai rien fait de cela |
|
|
|
00
|
|
|
#10 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Qu'est-ce qui figure comme première ligne de index.php ? Citation:
|
||
|
|
00
|
|
|
#11 | ||
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
pour les include, j'ai un genre de :
Code :
|
||
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
Je pense qu'elle te demandais si tu faisais un include AVANT de faire le session_start (afin de voir si tu n'affichais rien avant).
Tu as quoi dans ton page-admin.php (tu ne referais pas un session_start dedans) ? PS : ça n'a rien à voir mais tu as 2 DOCTYPE et ça c'est pas cool
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#13 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Ok j'ai compris. On peut se passer des session_start dans les fichiers inclus puisque le démarrage de la session étant ainsi redondant, PHP émettra un warning (rien de grave en soi).
Par contre à quoi correspond les lignes 1 et 17 de index.php ? Faisons plus simple : gardez les @ retirées ou inopérantes, consultez votre script dans votre navigateur, affichez-en la source. Qu'est-ce qui apparaît avant ces messages d'erreur alors qu'il ne devrait rien y avoir ? |
|
|
00
|
|
|
#14 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
j'ai enlevé les @ pour les pages incluses , il y en a celles qui ont marché quand j'ai enlevé leurs session_start() et il y en a qui marchent bien comme ca !
il y avait aussi une page ou j'avais du code javascript avant la session_start() Pour le moment tout va bien mais j'aimerai aussi savoir a quoi servent les fonctions session.use_trans_sid, session.use_only_cookies et session.use_cookies est ce que je dois les fixer ? (les doctype j'ai aussi un editeur de texte WYSIWYG qui m'oblige a lui mettre ca dtd) merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii |
|
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
Citation:
Citation:
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
||
|
|
00
|
|
|
#16 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
j'ai vu la faq, j'ai vu mon php.ini
j'ai compris que je devrai laisser session.use_cookies =1 et changer session.use_only_cookies=0 mais j'ai trouvé que j'ai session.use_trans_sid = 0 je doi la mettre en 1 ? c'est ca ? |
|
|
00
|
|
|
#17 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Pourquoi vouloir changer votre configuration si tout fonctionne ?
Il y a deux configurations possibles pour faire transiter l'identifiant afin de retrouver sa session :
En résumé : Pourquoi se limiter aux cookies ? Pour des raisons de sécurité - je ne vais pas m'étendre sur le sujet ceci étant déjà traité de manière plus large dans l'ensemble de nos articles abordant la sécurité - et esthétique (l'identifiant n'est pas visible). Pourquoi activer session.use_trans_sid et désactiver session.use_only_cookies ? Ce n'est intéressant que si vous souhaitez réellement privilégier l'accessibilité au détriment du reste : certaines personnes désactivent les cookies volontairement (bien que généralement on puisse le gérer par whitelist), certains "clients" ne permettent pas de les utiliser (disons ne sont pas prévus pour). |
|
|
00
|
|
|
#18 |
|
Futur Membre du Club
![]() Développeur Web Inscription : mars 2007 Messages : 64 ![]() |
Ca va j'ai bien compris
Merci trotters Merci julp a present mon projet est preque fini et c'est grace a vous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com