Bonjour,
Je viens à vous car j'ai un problème que même mes recherches n'ont pas réussi à résoudre.
Succinctement, le problème est que je n'arrive pas à modifier la valeur d'une session php appelé en AJAX. Cependant l'affichage de la valeur de la session ne pose pas de problème.
Je fais de l'AJAX par l'intermediaire de la fonction générique (ou pas) submitForm() ci-dessous:
J'ai une balise HTML select avec comme attribut: onChange="submitForm(...)".
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 function submitForm(url,param,idModif){ var xhr; try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e2) { try { xhr = new XMLHttpRequest(); } catch (e3) { xhr = false; } } } xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) document.getElementById(idModif).innerHTML = xhr.responseText; else document.ajax.dyn="Error code " + xhr.status; } }; xhr.open( "POST", url, true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(param); }
lors du changement de cette balise, tout ce passe correctement, et j'affiche:
un tableau de valeur et
un bouton <type="button" value="GO" onClick="submitForm(...)"/>
Tous ça pour dire que j'appelle deux fois de suite des pages par l'intermédiaire de la fonction submitForm en AJAX, ce qui est peut être la source de mon problème.
Le problème est que lorsque je clique sur le bouton "GO" tout mon script php s'éffectue correctement sauf les sessions.
Je fait un session_start() au début de ma page php donc logiquement, les sessions devraient être actives.
Mais quand je veux MODIFIER le contenu de l'une d'elle, ça ne fonctionne pas.
Par contre, quand je fais une echo $_SESSION["maSession"]; ça fonctionne...
Le script php que je veux effectuer ci-dessous:
J'ai vu sur d'autre sujet qu'il fallait faire un session_write_close(); mais même si je rajoute ça ça ne change rien au problème, je ne peut pas modifier la valeur de ma session.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php session_start(); if(isset($_REQUEST["img"])){ echo '<img src="images/ok.png"" alt="ok"/>'; }else{ if($_REQUEST["AllerOuRetour"]=="Aller"){ $_SESSION["ALLER"]=$_REQUEST["ligneFavory"]; }else{ $_SESSION["RETOUR"]=$_REQUEST["ligneFavory"]; } } ?>
Auriez vous des idées sur la source du problème ? Et pourquoi pas, une méthode pour le résoudre..
En espérant avoir été clair, merci pour vos réponses,
Aurélien
Partager