Passage de variables de formulaire [Résolu]

Signaler
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007
-
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
-
Bonjour,
Voila mon problème....
Je passe des variables d'un 1er formulaire vers une page ex.php contenant des requêtes différentes selon les choix effectués dans le dit formulaire, en GET.
La page ex.php contient un 2ème formulaire en POST qui doit venir affiner la requête initiale.
J'arrive à conserver les variables du 1er formulaire (grâce à GET) mais celles du 2ème ne passent pas à la première validation (seulement lors d'une 2ème validation).
J'ai essayé avec la méthode GET mais dans ce cas, seules les données du 2ème formulaire sont conservées et apparaissent dans l'URL, celles du 1er disparaissant.
Comment puis je faire ?
Merci de vos réponses !

11 réponses

Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
pour anthomicro

je connais pas ta syntaxe, en quoi est t-elle mieux stp ?



pour arnold

ma methode marche bien, ton formulaire 2 doit ressembler a ca :
<form action= "<?php echo $PHP_SELF;
?>" method="GET" style="font-size: 10px;">

<?php


echo "choix
']."" />";


echo "cat
']."" />";


echo "select
']."" />";


echo "difficulte
" value="".$_GET['
difficulte
']."" />";


?>


Trier par :
<select name="tri" style="font-size: 10px;">
<option value="titre">Titre
<option value="id">N°</option></select> &nbsp;
Sens :&nbsp;
<select name ="ordre" style="font-size: 10px;">
<option value="asc">Croissant
<option value="desc">Décroissant</option></select>&nbsp;

</form>




Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



donne-nous le code de tes deux pages stp.



a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
salut

je ne peut pas te dire pourquoi tu a besoin de valider ton code, il faudrait le code



par contre,

si tu veut passer les données du 1er formulaire a la troisieme page

tu peut sur la page ex.php faire de cette maniere

entre tes balises form tu ecrit des champs cacher, comme ceci

<?php

echo "";

?>

de cette facon les valeurs seront renvoyer en meme temps que le formulaire sur la 3 éme page



voila @+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
désolé pas terrible la syntaxe

c'est plutot ca :

<?php

echo "";

?>

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

1er formulaire sur page form.php:



<form action= "ex.php" method="GET" style="font-size: 10px;">
font-size
: 10px;" value="Tapez un mot, un N° de recette" onFocus="this.value='' ">
<select name ="select" style= "font-size: 10px;">
<option value="titre">Dans le titre
<option value="ingredient">Dans les ingrédients</option>
<option value="id">Par numéro</option></select>
<select name="cat" style="font-size: 10px;">
<option value="">Toutes catégories
<option value="1">Desserts aux fruits</option>
<option value="2">Dessert au chocolat</option>
<option value="3">Tartes & tourtes</option>
<option value="4">Bavarois, entremets & flans</option>
<option value="5">Crèmes de base</option>
<option value="6">Pâtes de base</option>
<option value="7">Gaufres, beignets & choux</option>
<option value="8">Glaces & sorbets</option>
<option value="9">Coulis & sauces</option>
<option value="10">Petits fours & biscuits secs</option>
<option value="11">Gâteaux & cakes</option>
<option value="12">Bonbons & friandises</option>
<option value="13">Pains & viennoiseries</option>
</select>

<select name="difficulte" style="font-size: 10px;">
<option value="">Toutes difficultés
<option value="Facile">Facile</option>
<option value="Intermédiaire">Intermédiaire</option>
<option value="Difficile">Difficile</option>
</select> &nbsp;
</form>

la page search.php avec les requêtes :


$sql
= ("SELECT count(id) FROM recette WHERE difficulte= '$difficulte ' AND cat=' $cat' AND $select LIKE '%$choix%' order by '$tri' $ordre");
$resultat = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$nb_total = mysql_fetch_array($resultat);


$nb_affichage_par_page = 8;
$page = ceil($nb_total/$nb_affichage_par_page);
$page_active = floor(($debut/$nb_affichage_par_page)+1);


$sql
= ( "SELECT * FROM recette WHERE difficulte=' $difficulte' AND cat ='$cat' AND $select LIKE '%$choix%' order by '$tri' $ordre LIMIT ".$_GET['debut'].",".$nb_affichage_par_page."");
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error
());



Le 2ème formulaire sur search.php



<form action="<?php echo( " $PHP_SELF?choix =$choix&select= $select &difficulte= $difficulte&cat =$cat&tri= $tri &ordre= $ordre");
?>" method ="POST" style= "font-size: 10px;">
Trier par :
<select name="tri" style="font-size: 10px;">
<option value="titre">Titre
<option value="id">N°</option></select> &nbsp;
Sens :&nbsp;
<select name ="ordre" style= "font-size: 10px;">
<option value="asc">Croissant
<option value="desc">Décroissant</option></select> &nbsp;

</form>


while(
$result = mysql_fetch_array($req) )
{ ......}



En fait, ça marchait très bien jusqu'à ce que j'insère un affichage page par page de ce type :

.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 10)."

J'espère que ca suffira
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

1er formulaire sur page form.php:



<form action= "ex.php" method="GET" style="font-size: 10px;">
font-size
: 10px;" value="Tapez un mot, un N° de recette" onFocus="this.value='' ">
<select name ="select" style= "font-size: 10px;">
<option value="titre">Dans le titre
<option value="ingredient">Dans les ingrédients</option>
<option value="id">Par numéro</option></select>
<select name="cat" style="font-size: 10px;">
<option value="">Toutes catégories
<option value="1">Desserts aux fruits</option>
<option value="2">Dessert au chocolat</option>
<option value="3">Tartes & tourtes</option>
<option value="4">Bavarois, entremets & flans</option>
<option value="5">Crèmes de base</option>
<option value="6">Pâtes de base</option>
<option value="7">Gaufres, beignets & choux</option>
<option value="8">Glaces & sorbets</option>
<option value="9">Coulis & sauces</option>
<option value="10">Petits fours & biscuits secs</option>
<option value="11">Gâteaux & cakes</option>
<option value="12">Bonbons & friandises</option>
<option value="13">Pains & viennoiseries</option>
</select>

<select name="difficulte" style="font-size: 10px;">
<option value="">Toutes difficultés
<option value="Facile">Facile</option>
<option value="Intermédiaire">Intermédiaire</option>
<option value="Difficile">Difficile</option>
</select> &nbsp;
</form>

la page search.php avec les requêtes :


$sql
= ("SELECT count(id) FROM recette WHERE difficulte= '$difficulte ' AND cat=' $cat' AND $select LIKE '%$choix%' order by '$tri' $ordre");
$resultat = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$nb_total = mysql_fetch_array($resultat);


$nb_affichage_par_page = 8;
$page = ceil($nb_total/$nb_affichage_par_page);
$page_active = floor(($debut/$nb_affichage_par_page)+1);


$sql
= ( "SELECT * FROM recette WHERE difficulte=' $difficulte' AND cat ='$cat' AND $select LIKE '%$choix%' order by '$tri' $ordre LIMIT ".$_GET['debut'].",".$nb_affichage_par_page."");
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error
());



Le 2ème formulaire sur search.php



<form action="<?php echo( " $PHP_SELF?choix =$choix&select= $select &difficulte= $difficulte&cat =$cat&tri= $tri &ordre= $ordre");
?>" method ="POST" style= "font-size: 10px;">
Trier par :
<select name="tri" style="font-size: 10px;">
<option value="titre">Titre
<option value="id">N°</option></select> &nbsp;
Sens :&nbsp;
<select name ="ordre" style= "font-size: 10px;">
<option value="asc">Croissant
<option value="desc">Décroissant</option></select> &nbsp;

</form>


while(
$result = mysql_fetch_array($req) )
{ ......}



En fait, ça marchait très bien jusqu'à ce que j'insère un affichage page par page de ce type :

.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 10)."

J'espère que ca suffira
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
désolé pas terrible la syntaxe

c'est plutot ca :

<?php

echo "";

?>

en effet c'est pas terrible.



<?php

echo '';





Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

salut tucsoufle,
j'ai déjà essayé par ta méthode de variables cachées mais ça ne fonctionne pas.
le pb vient de la page search.php qui contient le 2ème formulaire.
j'ai essayé de passer les variables "tri" et "ordre" par la methode get mais du coup, mes premières variables "choix", "select", "difficulte" et "cat" sont effacées de l'url.
Y'a pas un moyen pour rajouter en methode get les variables tri et ordre à la suite des précédentes pour arriver à un truc comme :
search.php?choix=&cat=&difficulte=&select=&tri=&ordre=&debut=
merci de ton aide

Arnaud
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
"
je connais pas ta syntaxe, en quoi est t-elle mieux stp ?"


Plus rapide et moins crade ;-)


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

Merci tucsoufle,


grâce à ton code, j'ai réussi à faire passer toutes mes variables !!
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
pas de quoi

heureux d'avoir pu t'aider



@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet