Bonjour,

J'utilise session_start() pour créer une session lors de l'accès au site que je développe.
Ensuite je teste si la variable $PHPSESSID existe, c'est le nom de session donné dans le php.ini :
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
function ctrl_session()
{
	if ($PHPSESSID)
		session_start($PHPSESSID);
	else
		session_start(); 
 
	// Teste l'initialisation de la variable ip
	if(!isset($_SESSION['ipaddr'])) 
	{ 
	  $_SESSION=array(); 
	  session_destroy(); 
	  die(); 
	} 
 
	// Contrôle que la session utilise toujours la même adresse ip
	if($_SERVER['REMOTE_ADDR']!=$_SESSION['ipaddr']) 
	{ 
	  $_SESSION=array(); 
	  session_destroy(); 
	  die(); 
	} 
}
Je me suis aperçue que la variable PHPSESSID n'était jamais initialisée et qu'en conséquence lors de l'ouverture d'une autre page il exécutait toujours la 2è partie du test : session_start().

Est-ce normal ?

Merci pour vos suggestions.