voila j'ai une tache a effectuer lors de la destruction de session
pour cela je me suis tourner vers session_set_save_handler

fonction d'activation de la session et du save_handler

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
function IsClientConnu(){
		ini_set("session.save_handler", "user");
		session_set_save_handler ("_open", "_close", "_read", "_write", "_destroy", "_gc");		
		session_start();
		Diapo_NouveauUtilisateur($Diapo_id);
 
		[...]
 
 
	}
juste au dessus les fonctions de session que j'ai repris du net :p

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
55
 
function _destroy ($id) {
	global $sess_save_path, $sess_session_name;
 
	$sess_file = "$sess_save_path/sess_$id";
// test
	$sess_data = fread($fp, filesize($sess_file));
	if ($fp = @fopen("$sess_save_path/log.txt", "w")) fwrite($fp, $sess_data);	
// test
/* fonction de suppression d'utilisateur */
	Diapo_SupprimerUtilisateur($sess_data['Diapo_id']);			
 
	return(@unlink($sess_file));
}
 
function _gc ($maxlifetime) {
// test
	global $sess_save_path;
	if ($fp = @fopen("$sess_save_path/log2.txt", "w")) fwrite($fp, $maxlifetime);
// test
	return true;
}
 
function _open ($save_path, $session_name) {
	global $sess_save_path, $sess_session_name;
 
	$sess_save_path = $save_path;
	$sess_session_name = $session_name;
	return(true);
}
 
function _close() {return(true);}
 
function _read ($id) {
	global $sess_save_path, $sess_session_name;
 
	$sess_file = "$sess_save_path/sess_$id";
	if ($fp = @fopen($sess_file, "r")) {
		$sess_data = fread($fp, filesize($sess_file));
		return($sess_data);
	} else {
		return(""); // Doit retourner "" ici.
	}
 
}
 
function _write ($id, $sess_data) {
	global $sess_save_path, $sess_session_name;
	$sess_file = "$sess_save_path/sess_$id";	
	if ($fp = @fopen($sess_file, "w")) {
		return(fwrite($fp, $sess_data));
	} else {
		return(false);
	}	
}
Comme vous pouvez le voir j'ai mis quelques fonctions de test comme il est dit qu'aucune ecriture (echo,print) n'est possible pdt l'execution de ses fonctions



Hors je n'ai aucun test qui marche, de même que ma fonction Diapo_SupprimerUtilisateur();

J'ai regler mon php.ini comme suit :

session.cookie_lifetime = 120
; 2Minutes
session.gc_maxlifetime = 120
; 2Minutes
session.cache_expire = 3
; 3Minutes

Aurais je loupé un truc ?

Plleeeaaase Heeeelp