Je suis actuellement bloqué sur un problème avec mes sessions et malgré mes recherches un peu partout sur le net, je ne comprend pas d'où vient mon erreur.
J'ai deux fichiers :
depos_form.php qui permet de renseigner un formulaire et de le valider.
insert_form.php qui insère en base de données ce qui a été saisie dans le formulaire.
Bout de code de depos_form.php (partie qui nous intéresse, j'ai enlevé le reste pour ne pas avoir un post trop long) :
<?php
session_start();
include( "include/header.html" );
include( "include/menu.php" );
if(isset($_SESSION['InsertOk']) && $_SESSION['InsertOk'] == 'ok')
{
echo "
Les donnés;es saisies ont bien étées enregistrées
Bout de code de insert_form.php (pareil j'ai coupé le code qui ne concerne pas notre sujet) :
<?php
session_start();
function ControlSaisie($aValue){
//code de contrôle de saisie
}
....
$bControle = ControlSaisie($aFormValue)
if($bControle){
//préparation de la requête et insert
if($bInsert){
$_SESSION['InsertOk'] = 'ok';
}
else{
$_SESSION['InsertOk'] = 'ko';
}
}
header('chemin vers depos_form.php');
Le problème vient que lorsque je fais ma première validation, si le formulaire est bien rempli alors :
- insertion en base de données OK
- Création de ma variable session OK (j'ai placé un die($_SESSION['InsertOK']) juste après et elle existait bien.
- redirection vers depos_form.php OK
- rentre dans la condition pour afficher la div "return_insert" KO. (j'ai fait un echo de $_SESSION['InsertOK'] et j'ai eu un retour vide).
Ce que je ne comprend pas c'est qu'en validant une deuxième fois, là j'ai bien toutes les étapes :
- insertion BDD
- création de variable session
- redirection
- affichage de la div
Si quelqu'un a une idée de comment résoudre le problème ou juste me dire ce que je n'ai pas bien compris ce serait super sympa.