$.ajax -> Rafraichir session après insertion en bdd

Résolu/Fermé
Sandy - Modifié par jordane45 le 2/02/2015 à 21:30
 Sandy - 4 févr. 2015 à 17:28
Bonjour,


J'insère les données données de l'étape 1 de mon form d'enregistrement en bdd avec $.ajax.
L'étape 2 consiste à l'upload de fichiers en jquery.
Pour que cela fonctionne, j'ai besoin de récupérer l'id d'enregistrement de l'étape 1, ce que je fais avec lastInsertId();, que je mets en session pour affecter les fichiers au bon propriétaire.
Mes formulaires sont contenus dans une modal.

Le problème, c'est que si mes données sont bien insérées en base, le contenu de $_SESSION['last_inserted_id'] n'est pas mis à jour, ... Quand je teste le même code hors modal, pas de soucis.

(Oui toutes mes pages commencent bien par session_start();)

Le but de l'opération serait de rafraichir la session, et uniquement la session.
Savez-vous comment procéder svp ? Merci d'avance

**********************
pour mon form enregistrement_des_champs, j'enregistre tout en bdd (tout s'enregistre bien) et la fin de mon traitement php ressemble à ceci:




 $insert->execute();     
  $insert_id = $interim->lastInsertId();
  $_SESSION['inscription_id'] = $insert_id;

<form id="enregistrement_des_champs">
</form>

<form id="upload_de_fichiers">

<p id="enreg_infos_ok">
<?php if(isset($_SESSION['inscription_id'])) {echo  $_SESSION['inscription_id'];} 
          else {echo 'no_id'; } ?>
</p>
// Ca me retourne no_id (en mode modal, en dur ça marche...

// mon champ pour upload 
</form>




Merci
A voir également:

1 réponse

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
2 févr. 2015 à 21:35
Bonjour,

Le souci ne se trouve donc visiblement pas au niveau du code que tu nous montres mais plutot celui qui te sert à enregistrer tes données.....

Il nous faudrait donc le code javascript qui lance l'ajax ainsi que celui que tu utilises pour l'insert (appelé par l'ajax).

Par contre.... une fois tes données enregistrées... ta page ne se rafraichit pas ... donc les données qui sont affichées par le PHP... ne sont pas traitées puisque le PHP s'exécute uniquement côté serveur alors que le javascript, lui, se lance côté client....
... donc soit tu rafraichit ta page (pour que les ECHO se fassent...) soit tu affiches l'information directement depuis javascript....(et là... pas besoin des variables de session...)
0
Bonjour,

Merci pour ta réponse.
Oui en fait j'ai résolu le problème en passant les vars que je voulais mettre en session, en js, dans la valeur de quelques hidden inputs.

Merci en tous cas
0