Bonjour à tous,

Après avoir parcouru maintes et maintes forum j'y vais aussi de mon post.

En effet j'ai une gestion de secteur sur mon site Internet grâce à des sessions sauf que je perds ma session systématiquement.

Sur le principe, mon secteur apparait dans mon url et je lance des tests pour définir ma session.
Quand le secteur est dans l'url tout fonctionne sauf que dès qu'il n'apparait plus dans l'url la session ne fonctionne pas.

Pour faire plus simple voici mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
// Il s'agit de la durée au-delà de laquelle des données de session seront considérées comme périmées.
ini_set("session.gc_maxlifetime","3600");
// Si cette option est égale à 1, alors PHP ignorera les identifiants transmis via l'url pour n'utiliser que ceux contenus dans les cookies.
ini_set("session.use_only_cookies","1");	
 
session_start();
 
/********************************************
 *			GESTION SECTEURS				*
 ********************************************/
// on récupére le secteur selectionné par le navigateur
 
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT * ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$idSecteur 			= $reqVilleResult['VILLE_ID'];
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
 
			}  else {
			$idSecteur 		= 4;
			} 
 
	}  else {
 
	$idSecteur 		= 1; 
 
	}
 
} elseif (isset($_SESSION['villeID'])) {
 
	$idSecteur = (isset($_SESSION['villeID'])) ? trim($_SESSION['villeID']) : null;
 
	if(!empty($idSecteur) && ctype_digit($idSecteur)) {
	$idSecteur				=  intval($idSecteur);
	}			
 
}
Mon navigateur gère bien les cookies et ne les bloque pas.

Voici ce que dit phpinfo sur les sessions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
Session Support	enabled
Registered save handlers	files user sqlite
Registered serializer handlers	php php_binary wddx
 
Directive	Local Value	Master Value
session.auto_start	Off	Off
session.bug_compat_42	On	On
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	100	100
session.gc_maxlifetime	1440	1440
session.gc_probability	0	0
session.hash_bits_per_character	4	4
session.hash_function	0	0
session.name	PHPSESSID	PHPSESSID
session.referer_check	no value	no value
session.save_handler	files	files
session.save_path	/tmp	/tmp
session.serialize_handler	php	php
session.use_cookies	On	On
session.use_only_cookies	Off	Off
session.use_trans_sid	0	0
Et voici une ligne de mon .htaccess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
# Interdiction des sessions dans l'url :
SetEnv SESSION_USE_TRANS_SID 0
Une âme charitable pour m'aider ?
D'où peut venir mon problème ?

Merci par avance,

Aurélien