Bonjour,

Dans un premier formulaire Php, nommé "types.inc", j'ai une date automatiquement initialisée avec la date contenue dans l'objet passé en variable de session :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$dateEve = $_SESSION['objet']->getDateEve();

J'ai la possibilité de modifier cette date dans le formulaire.

Si je la modifie et que je j'enregistre directement le formulaire, pas de problème, la date est modifiée. Par contre, si je modifie la date dans le formulaire "types.inc" et que je cliques sur un hyperlien pour me rendre dans un autre formulaire en enregistrant préalablement les données du formulaire, c'est la date initiale qui est reprise au lieu de la date modifiée, alors que je mets bien ma variable de session à jour :

Dans mon script "types.inc", voici l'hyperlien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
onclick=\"enregiTypesRey(); window.location.href='../interfaces/interface.php?fichier=../fichiersInclusion/rey/zones.inc&titre=Figure de Rey&popup=1';\">Zones</a>

Dans ma fonction Ajax "enregiTypesRey()" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
...
xhrEnregiTypesRey.open("POST",'../transferts/rey/enregiTypesRey.php',true);
...
jour = document.getElementById('jour');
jourEve = jour.options[jour.selectedIndex].value;
mois = document.getElementById('mois') ;
moisEve = mois.options[mois.selectedIndex].value;
annee = document.getElementById('annee');
anneeEve = annee.options[annee.selectedIndex].value;
...
xhrEnregiTypesRey.send("id=" + id + "&idPrinc=" + idPrinc + "&jourEve=" + jourEve + "&moisEve=" + moisEve + "&anneeEve=" + anneeEve ...
Dans mon fichier "enregiTypesRey.php" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
...
$obj = unserialize($_SESSION['eve']);
...
$tab['dateEve'] = $_POST['anneeEve'] . "-" . $_POST['moisEve'] . "-" . $_POST['jourEve'];
 
$obj->setDateEve($tab['dateEve']); //Pour éviter les problèmes de date avec l'interface zones
...
unset($_SESSION['eve']);//Car problème de mise à jour de la date dans la session
 
$_SESSION['eve'] = serialize($obj);  //Pour éviter les problèmes de date avec l'interface zones
Dans ma méthode "setDateEve" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public function setDateEve($dateEve)
   {
    $this->dateEve = $dateEve;
    //Ajouté 4 lignes suivantes car problème d'enregistrement de la date dans le test Figure de Rey
    $tab['dateEve'] = $dateEve;
    $tab['idObj'] = $this->id;
 
    $transaction = CtransactionsBdd::GetInstance("MYSQL", "neuropsy");
    $resuReq = $transaction->update("MYSQL_enregDateObj", $tab);
   }
Pour terminer, dans mon formulaire "zones.inc" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
if(!empty($_SESSION['eve']))
 {
  $eve = unserialize($_SESSION['eve']);
  ...
  list($jourEve, $moisEve, $anneeEve) = explode('/', $eve->getDateEve());

Et là, c'est l'ancienne date qui apparaît au lieu de la nouvelle.

Quelqu'un aurait une idée?

Merci d'avance.