Bonjour à tous,
Je peine à comprendre d’où vient mon problème, je vous explique :
Je tente d'afficher une alerte lorsque ma requete sql a été correctement effectuée par ma fonction dans ma classe.
Je stock donc ma variable dans une session juste avant ma redirection avec header().
J'ai ensuite une fonction qui s'occupe d'afficher mon message d'erreur.
Mon problème, c'est que la variable de session créée, est automatiquement supprimée avant même d’être affrichée.
Voila ma fonction qui initialise ma var de session
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function UpdateCandidat($idCandidat) { global $key, $nomImage; [...........] // je coupe, c'est trop long $_SESSION['MsgSuccess'] = 'Modifications enregistrées avec succès'; header('Location:'.PAGE_CANDIDAT_EDIT); }
Ensuite ma fonction qui affiche le message :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function errorBox(){ if(isset($_SESSION['MsgError'])) : echo '<div class="notification-box notification-box-warning"><p>'.$_SESSION['MsgError'].'<p><a class="notification-close notification-close-warning" href="#">x</a></div>'; unset($_SESSION['MsgError']); elseif(isset($_SESSION['MsgSuccess'])): echo '<div class="notification-box notification-box-success"><p>'.$_SESSION['MsgSuccess'].'<p><a class="notification-close notification-close-success" href="#">x</a></div>'; unset($_SESSION['MsgSuccess']); elseif(isset($_SESSION['MsgInfos'])): echo '<div class="notification-box notification-box-info"><p>'.$_SESSION['MsgInfos'].'<p><a class="notification-close notification-close-info" href="#">x</a></div>'; unset($_SESSION['MsgInfos']); endif; }
Puis l'appel de ma fonction
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<div id="erreur"><?php errorBox();?></div>
La variable $_SESSION[''MsgSuccess'] ne s'affiche pas, sauf si je supprime le unset($_SESSION[''MsgSuccess']) qui est censé supprimer ma variable après l'avoir affichée.
Merci pour votre aide, j'ai passé la journée dessus !
Partager