[AJAX] Ma variable de session ne s'enregistre pas
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:
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:
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:
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:
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;
}
}
?> |