|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 47 ![]() |
Bonjour à tous,
j'ai une petite colle qui m'occupe depuis plusieurs jours, je pense que vous pourrez m'aider Dans ma page index.php : je créé une session avec session_start(); j'initialise par exemple $_SESSION['test']=1; J'ai besoin de transmettre la session via l'url à une page externe (que j'utilise dans index.php - ajax) et je fais comme ça : mapage.php?PHPSESSID=session_id(); vu que j'ai transmis l'id de session, je m'attendais à ce que mapage.php puisse avoir accès à la session or ce n'est pas le cas, dans mapage.php j'ai session_start(); print $_SESSION['test'] //ne renvoie rien , la session n'est pas conservé Que se passe-t-il ? 1- je n'applique pas la bonne méthode de transmission ? 2 - mon serveur refuse le passage de session en url ? Si vous avez des idées, je suis preneur !! Merci à vous, Tibo |
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Quelle est la raison de cette transmission manuelle, puisque PHP s'en charge en temps normal ? Quelle est la configuration du serveur pour la transmission (cookie et/ou use_trans_sid) ?
Pour être portable, je vous recommande d'utiliser : 'mapage.php?' . session_name() . '=' . session_id(); et n'oubliez pas de récupérer cet identifiant et de le passer à session_start comme paramètre. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 47 ![]() |
pas mal le coup de session_name ?
Pkoi je veux transmettre l'id de session car je construits le site comme une API cad que j'utilise : $url=$Main->getRoute(700,array(session_name()=>session_id())); $xml = new SimpleXMLElement($url, NULL, TRUE); la page 700 doit pouvoir être accessible de l'extérieur pour peu que l'on est appliqué une méthode login pour avoir un id session valide. voici le fichier ini que j'utilise session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly Off Off session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path C:\PROGRA~1\EasyPHP\\tmp\ C:\PROGRA~1\EasyPHP\\tmp\ session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid 0 0 |
|
|
00
|
|
|
#4 | ||||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Citation:
Code :
|
||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 47 ![]() |
Merci je vais essayer, c'est la première chose auquel j'avais pensé mais que je n'avais pas essayé car la doc php donne :
bool session_start ( void ) session_start() crée une session (ou restaure celle trouvée sur le serveur, via l'identifiant de session passé dans une requête GET, POST ou par un cookie). donc je pensais qu'il n'était pas nécessaire de récupérer de passe le session id en param de session_start qui n'en accepte pas à priori Merci !! Tibo |
|
|
00
|
|
|
#6 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Oui, désolé, c'est une erreur de ma part. C'est session_id qu'il faut appeler avant session_start pour fixer l'identifiant :
Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 47 ![]() |
Ca me semble plus propre à intégrer dans mon script !!!
Merci beaucoup en tout cas et encore bravo pour la réactivité , Tibo |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com