Voilà, pour que l'utilisateur n'ait pas à retaper le contenu d'un formulaire s'il y a eu une erreur côté serveur, je stocke les valeurs des champs dans $_SESSION.
J'ai donc une petite fonction pour sauver un champ dans $_SESSION
Code :
- function saveSessionValue($Fieldname, $Value)
- {
- $_SESSION["$Fieldname"] = $Value;
- }
|
et une autre pour virer le champ de $_SESSION
Code :
- function deleteSessionValue($Fieldname)
- {
- unset($_SESSION["$Fieldname"]);
- }
|
Dans une page, je mets au début un session_start();
Puis je mets dans la suite du code des saveSessionValue() avant de faire des traitements et des deleteSessionValue(); si les traitement se sont bien passés (tout ça dans le même fichier php). Quand j'affiche le contenu de $_SESSION après des deleteSessionValue(), les champs ont bien disparus.
Dans une autre (ie un autre fichier php), je mets aussi un session_start(); au début et ensuite, je regarde si le champ dans $_SESSION existe. Si oui, je réaffiche, sinon, champ à vide... Mais là, les champs qui avaient été détruits sont de nouveau présents dans $_SESSION ...
J'ai essayé session_write_close(), mais ça change rien. Qq'un a une idée pour résoudre mon pb? Merci beaucoup