Bonjour,

Je voudrais modifier une variable de session par du code javascript.

dans l'en-tête de ma page, je met le script suivant :
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
<script type='text/JavaScript'>
 
	function getXhr() {
		var xhr = null; 
		if(window.XMLHttpRequest) // Firefox et autres
			xhr = new XMLHttpRequest(); 
		else if(window.ActiveXObject){ // Internet Explorer 
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else { // XMLHttpRequest non supporté par le navigateur 
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			xhr = false; 
		} 
	return xhr;
	}
 
	function go(requete) {
		var xhr = getXhr();
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						alert(xhr.responseText);
					}
					}
		xhr.open("GET",requete,true);
		xhr.send(null);
	}
</script>
dans ma page, j'ai une liste déroulante, et je veux lancer la modification de la variable lors de l'evenement onchange de la liste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<td class="texte1">La vitesse du vent est en
				<form method="post">
				<select class="texte1" onchange="javascript:go('majSession.php?value='+this.value,'GET');">
					<option <?php if($_SESSION['wind_unit'] == "noeuds") { echo 'selected'; } ?>>noeuds
					<option <?php if($_SESSION['wind_unit'] == "km/h") { echo 'selected'; } ?>>km/h
 
				</select>
				</form>
			</td>
où majSession.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php
$_SESSION['wind_unit'] = $_GET['value'];
?>
Mais quand j'execute ça, la variable de session n'est pas mise à jour.

Auriez-vous une idée du problème ?

Merci,

Nico