Conservé variable après 2 submit

Fermé
DuyDung - 24 mai 2011 à 09:10
 Utilisateur anonyme - 25 mai 2011 à 09:51
Bonjour,

Ça fait quelque jours que je cherche de partout la solution a mon problème , mais en vain.
je vous explique : j'ai un projet a faire pour mes cours ,

donc je me retrouve avec une page sur laquelle j'ai mis un menu déroulant afin d'afficher des champs de saisie adapté a chaque statut du menu déroulant.
j'ai donc un premier submit , que je récupéré grâce a $_REQUEST['statut'], et j'ai ensuite mis un switch qui m'affiche les différent champs a saisir, avec un nouveau submit qui me renvoi vers une page de vérification.

dans cette nouvelle page, j'ai des requête en commun ( comme vérifier que les mot de passe saisie sont identique ( dans chaque statut le mot de passe est demandé 2 fois ) : cette requête marche parfaitement.
mais j'ai également besoin de vérifier que tous les champs soit remplit, mais comme les champs diffère selon les statut, j'ai de nouveau besoin de $_REQUEST['statut'] qui, pour le coup, n'existe plus après le 2eme submit.
et j'ai cherché par tout les moyens de le conservé ( je n'ai pas bien compris le système de session... ) mais je j'y arrive pas !!

un petit coup de pouce serait le bien venu =)
bonne journée


A voir également:

3 réponses

Utilisateur anonyme
24 mai 2011 à 09:14
Bonjour,

Vous pouvez par exemple passer $_REQUEST['statut'] dans une variable de session avant de passer à la page suivante. Ou alors mettre un champ hidden <input type="hidden" name="statut"> initialisé avec $_REQUEST['statut']
0
j'ai vu sur d'autre forum le systeme de session, ainsi que le champ hiden, mais je n'ai pas bien compris le fonctionnement, j'ai essayé de l'utiliser mais cela n'a rien changé... je dois mal l'utiliser je pense.
0
Utilisateur anonyme
25 mai 2011 à 09:48
Pour le champ hidden ce n'est pas compliqué.

Page 1 poste le champ statut

Quand vous fabriquez la page 2 vous ajoutez à votre formulaire un champ :

<input name="statut" type="hidden" value="<?php echo $_POST['statut'];?>">

Du coup, quand vous postez ce nouveau formulaire, la page 3 reçoit en plus des champs visibles, le champ statut, avec la valeur renseignée dans la page 1
0
Utilisateur anonyme
25 mai 2011 à 09:51
Pour les sessions, c'est simple aussi

Au début de la page 2
@session_start();
$_SESSION['statut'] = $_POST['statut'];

La valeur du champ statut est mémorisée dans un tableau qui est consultable s'un script à l'autre, le tableau $_SESSION

Au début de la page 3 vous récupérez le statut ainsi

@session_start();
$statut = $_SESSION['statut'];

Et hop, le tour est joué.
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
24 mai 2011 à 09:15
bonjour,

peut-on avoir le code de tes pages ?
0
Lambo31 Messages postés 23 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 5 octobre 2011
24 mai 2011 à 09:20
Bonjour, la variable $_SESSION permet de garder comme son nom l'indique des valeurs pendant toute la session de l'utilisateur (c'est à dire jusqu'à ce qu'il ferme son navigateur ou jusqu'à ce que l'utilisateur soit inactif pendant un certain temps, je crois par défaut c'est 30 min mais à vérifier)

Tu peux par exemple faire :
 $_SESSION['statut'] = $_REQUEST['statut'];
et ensuite partout où tu as besoin du statut tu utilises $_SESSION['statut'].

Peut-être il te faut rajouter cette condition car je ne sais pas si ça ne pose pas de problèmes si $_REQUEST['statut'] n'est pas défini.
if(isset($_REQUEST['statut']){
$_SESSION['statut'] = $_REQUEST['statut'];
}
0