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é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; } } ?>
Partager