Comment rediriger les données d'un f'ormulaire avec header

Résolu
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je débute en php et malgré mes recherches je bute sur le problème suivant:
J'ai créer un formulaire avec la method POST très sommaire avec 2 input pour renseigner le nom et le prénom, et un select pour renseigner le genre (homme ou femme).
En fonction du choix homme/femme, la personne est rediriger sur la page approprié via header('location:page.php').
La page est très bien redirigé, mais le problème c'est que je ne sais pas comment rediriger les valeurs des input (nom et prenom) afin qu'ils apparaissent dans la page de redirection.
J'ai essayé de mettre les données du formulaire en cache, mais étant débutant, j'ai du mal à réaliser cette opération.

Voici mon code:

_formulaire:

<html>
<body>
<form action="header.php" method="post">
<label>Nom:</label>
<input type="text"name="nom" size="40"/><br/>
<label>Prénom:</label>
<input type="text"name="prenom" size="40"/><br/>

<label>Sexe:</label>
<select name="sex">
<option value="homme">homme</option>
<option value="femme">femme</option>
</select><br/><br/>

<input type="submit" name="envoyer" value="envoyer"/>
</form>
</body>
</html>


_redirection (header.php):

<?
if($_POST[sex]=='femme')
{
header('location:femme.php');
}
elseif($_POST[sex]=='homme')
{
header('location:homme.php');
}
exit
?>

j'ai essayer ce code pour la mise en cache:

<?
ob_start();
ici je voudrais mettre la valeur des inputs;
$tampon=ob_get_contants();
ob_end_clean();

et dans la page de redirection (homme.php ou femme.php) faire un $tampon pour faire apparaitre la valeur des input.
Je ne sais pas si cette façon de faire est correcte.
Merci d'avance pour votre aide
Cordialement...
A voir également:

7 réponses

gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
Bonjour,

Essaie déjà de mettre des guillemets pour les $_POST['sex'] etc..
0
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
[gardiendelanuit]
Merci, mais ça ne résout pas mon problème.
0
gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
Pas sûr que ça change grand chose mais respecte la casse:
'Location: femme.php'

0
gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
J'avais pas compris l'objet de ta demande.
Pour ce que tu veux faire utilise les variables de session à l'aide de la variable super global $_SESSION (un tableau) et n'oublie pas de mettre session_start(); tout en haut de chacun de tes pages php.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
[gardiendelanuit]
ok merci, je vais essayer
0
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
[gardiendelanuit]

C 'est bizarre, ça marché une fois, mais maintenant ça marche plus.
j'ai pas du faire les choses comme il faut.
Voici le code:

_ le formulaire:

<?
session_start();
?>
<html>
<body>
<form action="header.php" method="post">


<label>Nom:</label>
<input type="text"name="nom" size="40"/><br/>
<label>Prénom:</label>
<input type="text"name="prenom" size="40"/><br/>

<label>Sexe:</label>
<select name="sex">
<option value="homme">homme</option>
<option value="femme">femme</option>
</select><br/><br/>

<input type="submit" name="envoyer" value="envoyer"/>
</form>
</body>
</html>

_le "header"

<?
session_start();
$_POST['nom']=$_SESSION['nom'];
if($_POST['sex']=='femme')
{
header('location:femme.php');
}
elseif($_POST['sex']=='homme')
{
header('location:homme.php');
}
exit
?>

_et pour finir la page de redirection (homme ou femme.php)

<?
session_start();
?>
<html>
<body>
<h1>bonjour monsieur</h1>
</body>

<?
echo $_SESSION['nom']
?>
</html>
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
$_POST['nom']=$_SESSION['nom'];
C'est l'inverse :)
0
yrtuki Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Chui bete, l'erreur est dans le "header"

j'avait écris $_POST['nom']=$_SESSION['nom']; alors qu' en fait, c'est le contraire
$_SESSION['nom']=$_POST['nom'];

Maintenant ça marche, merci beaucoup gardiendelanuit

Salutation....
0