Bonjour à tous.



J'ai besoin de yeux nouveaux dans mon code.
Je ne vois plus rien... Je m'arrache les cheveux !
Pouvez-vous prendre un peu de votre temps pour m'aider à y voir plus clair ?
De mon côté, je désespère ! Je n'en peux plus ! Je tourne en rond !!!

Voici ma page

J'explique.
Quand on clique sur une des 9 formes de diamants (haut du tableau), la fonction "entoure()" se déclenche. Et dans cette fonction, on enregistre la fameuse variable de session "['recherche']['forme']". On dirait qu'elle s'enregistre bien. Par contre, quand on fiat "F5", le contenu de cette variable de session a disparu !!! Pourquoi ?

Voici la fonction javascript qui lance l'ajax :
Code javascript : 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 entoure(indforme) {
	if (swForme[indforme]==0) {
		swForme[indforme]=1;
		document.getElementById("forme"+indforme).style.borderColor="#8e8f91";
	} else {
		swForme[indforme]=0;
		document.getElementById("forme"+indforme).style.borderColor="#F5F5F5";
	}
	formes="";
	for (var ind=1; ind<swForme.length; ind++) {
		if (swForme[ind] == 1) {
			formes += "1";
		} else {
			formes += "0";
		}
	}
	if (pageLoaded == 1) {
		variablesession('forme00', formes);
		alert (formes);
		resetRecherche();
		newRecherche();
	}
}

Voici la fonction "variablesession()", qui lancel'ajax :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function variablesession(oVar, oVal) {
	if (oVar = 'formes00') {
		alert(oVal);
	}
	var requete = creerRequete();
	var pgm = "diamants/php/ajaxphp_variablesession.php";
	requete.open("POST", pgm, false);
	requete.onreadystatechange = function() {
		if (requete.readyState == 4 && requete.status == 200) {
		}
	}
	requete.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	requete.send("variable="+escape(oVar)+"&valeur="+escape(oVal));
}

Voici le xhr (diamants/js/requete.js"):
Code javascript : 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
// JavaScript Document
function creerRequete() {
	var requete = null;
	try {
		requete = new XMLHttpRequest();	
	} catch (essaimicrosoft) {
		try {
			requete = new ActiveXObject("Msxml2.XMLHTTP");	
		} catch (autremicrosoft) {
			try {
				requete = new ActiveXObject("Microsoft.XMLHTTP");	
			} catch (echec) {
				requete = null;
			}
		}
	}
 
	if (requete == null) {
		alert("Impossible de cr&eacute;er l'objet requete");
	} else {
		return requete;
	}	
}

Voici le script "diamants/php/ajaxphp_variablesession.php", qui enregistre les variables de session par ajax :
Code php : 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
	session_start();
	if (isset($_REQUEST['variable']) AND isset($_REQUEST['valeur'])) {
		$variable = $_REQUEST['variable'];
		$valeur = $_REQUEST['valeur'];
		switch ($variable) {
			case "forme00":
				$_SESSION['recherche']['forme'] = $valeur;
				break;
			case "poids00":
				$_SESSION['recherche']['poids'][0] = $valeur;
				break;
			case "poids01":
				$_SESSION['recherche']['poids'][1] = $valeur;
				break;
			case "couleur00":
				$_SESSION['recherche']['couleur'][0] = $valeur;
				break;
			case "couleur01":
				$_SESSION['recherche']['couleur'][1] = $valeur;
				break;
			case "prix00":
				$_SESSION['recherche']['prix'][0] = $valeur;
				break;
			case "prix01":
				$_SESSION['recherche']['prix'][1] = $valeur;
				break;
			case "taille00":
				$_SESSION['recherche']['taille'][0] = $valeur;
				break;
			case "taille01":
				$_SESSION['recherche']['taille'][1] = $valeur;
				break;
			case "purete00":
				$_SESSION['recherche']['purete'][0] = $valeur;
				break;
			case "purete01":
				$_SESSION['recherche']['purete'][1] = $valeur;
				break;
			case "serti00":
				$_SESSION['recherche']['serti'] = $valeur;
				break;
			case "poli00":
				$_SESSION['recherche']['poli'][0] = $valeur;
				break;
			case "poli01":
				$_SESSION['recherche']['poli'][1] = $valeur;
				break;
			case "symetrie00":
				$_SESSION['recherche']['symetrie'][0] = $valeur;
				break;
			case "symetrie01":
				$_SESSION['recherche']['symetrie'][1] = $valeur;
				break;
			case "profondeur00":
				$_SESSION['recherche']['profondeur'][0] = $valeur;
				break;
			case "profondeur01":
				$_SESSION['recherche']['profondeur'][1] = $valeur;
				break;
			case "table00":
				$_SESSION['recherche']['table'][0] = $valeur;
				break;
			case "table01":
				$_SESSION['recherche']['table'][1] = $valeur;
				break;
			case "fluorescence00":
				$_SESSION['recherche']['fluorescence'][0] = $valeur;
				break;
			case "fluorescence01":
				$_SESSION['recherche']['fluorescence'][1] = $valeur;
				break;
			case "prixparcarat00":
				$_SESSION['recherche']['prixparcarat'][0] = $valeur;
				break;
			case "prixparcarat01":
				$_SESSION['recherche']['prixparcarat'][1] = $valeur;
				break;
			case "colette00":
				$_SESSION['recherche']['colette'][0] = $valeur;
				break;
			case "colette01":
				$_SESSION['recherche']['colette'][1] = $valeur;
				break;
			case "rapportll00":
				$_SESSION['recherche']['rapportll'][0] = $valeur;
				break;
			case "rapportll01":
				$_SESSION['recherche']['rapportll'][1] = $valeur;
				break;
			case "certificat00":
				$_SESSION['recherche']['certificat'] = $valeur;
				break;
			case "tourdoigt":
				$_SESSION['recherche']['tourdoigt'] = $valeur;
				break;
			case "gravure":
				$_SESSION['recherche']['gravure'] = $valeur;
				break;
			case "confirmationbague":
				$_SESSION['recherche']['confirmationbague'] = $valeur;
				break;
			case "referencebague":
				$_SESSION['recherche']['referencebague'] = $valeur;
				break;
		}
	}
?>