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 28/12/2007, 18h43   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Par défaut Variables de sessions non transmises en local

Bonjour,

Je n'arrive plus à lire mes variables de session en passant d'une page à l'autre (en mode local, avec IIS). Ça déjà fonctionné, mais là, plus rien. Je soupçonne que la raison se trouve dans le fichier PHP.ini. Est-ce possible?

Code du premier fichier :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
  session_start();
  $_SESSION["Login"]="Cerveza";
  echo "TestSession 1<br>";
  print_r($_SESSION);
?>
<script type="text/javascript">
  alert ("Continue?")
  window.document.location="<?php echo "TestSession2.php"; ?>"
</script>
Code du second fichier :
Code :
1
2
3
4
5
6
7
8
 
<?php
  session_start();
  echo "TestSession 2<br>";
  print_r($_SESSION);
  echo "<br>PHP.ini<br>";
  phpinfo();
?>
Le print_r du premier fichier me liste la variable "Login", mais je n'ai rien dans le second fichier.

Pourquoi?
La même application fonctionne correctement sur d'autres systèmes locaux (j'utilise IIS).

Merci à l'avance
Cerveza
cerveza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 22h05   #2
Membre actif
 
Inscription : mars 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 171
Points : 171
Points : 171
Tu peux peut être vérifier ton fichier php.ini par rapport à :

http://fr2.php.net/manual/fr/ref.session.php

Paragraphe : Configuration à l'exécution
ericduval est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2007, 23h44   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Salut Éric,

J'avais vérifié, mais je ne trouve rien d'anormal. Je t'inclus la section "Session" de mon fichier PHP.ini, au cas où tu verrais quelque chose d'anormal.

Merci d'avance.
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
 
session
Session Support 	enabled
Registered save handlers 	files user
Registered serializer handlers 	php php_binary wddx
 
Directive	Local Value	Master Value
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	/temp	/temp
session.serialize_handler	php	php
session.use_cookies	On	On
session.use_only_cookies	On	On
session.use_trans_sid	0	0
Cerveza
cerveza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 11h24   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut!

J'ai comme l'impression que ce bout de ton code n'est pas correct :
Code :
window.document.location="<?php echo "TestSession2.php"; ?>"
Essaye plutôt avec :
Code :
window.document.location=UrlRoot + "TestSession2.php";
Où UrlRoot est l'adresse de ton serveur + le chemin du script, car comme Javascript est exécuté côté client, il ne peut donc pas deviner l'adresse du script PHP...
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 15h34   #5
Membre actif
 
Inscription : mars 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 171
Points : 171
Points : 171
La valeur de session.save_path sur windows, le php.net propose plutôt
session.save_path = c:/temp.

D'autre part assure toi que le répertoire "temp" existe.
ericduval est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 21h34   #6
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Salut Éric,

You're right on !

Tu m'as fait un très beau cadeau du Jour de l'An! Merci beaucoup.


Dans ma configuration, mes fichiers temporaires sont sur E:. De plus, je n'avais pas de répertoire Temp à la racine. Je l'ai donc créé comme tu me le précisais et j'ai modifié php.ini. Tout est entré dans l'ordre et je suis très heureux de cette situation. Je me disais qu'il me faudrait réimplanté Windows XP, en désespoir de cause.

Merci encore et une très belle année à toi et à tous.
Merci aussi à Sub0.
@+
Cerveza
cerveza est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h49.


 
 
 
 
Partenaires

Hébergement Web