Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2007, 08h31   #1
Membre à l'essai
 
Avatar de lkryss
 
Inscription : juin 2006
Messages : 91
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : juin 2006
Messages : 91
Points : 23
Points : 23
Par défaut question sur le $_POST

bonjour,

(je precise que je n'accentue pas car je suis au vietnam-> clavier qwerty, desole)
je suis en train de reprendre le developpement d'un site commence par un autre stagiaire, et j'ai quelques difficultes a comprendre quelque chose.
je m'explique :
j'ai une liste toute simple qui me sert a rediriger sur une autre page (via une fonction), mon probleme est que lorsque je choisi un element et que je clique sur mon bouton 'submit' pour valider la requete, c'est la meme qui page se recharge, je dois recliquer sur le boutton pour pouvoir aller ou je le veux(sans avoir besoin de reselectionner dans la liste).

voila le code de ma liste et du bouton :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
echo "<form method=post action='index2.php?option=com_informations&task=".$_POST['typeOfUser']."'>";
 
			echo "<center><br />Recherche d'informations sur un groupe:<br /><br /></center>"
			."<SELECT name='typeOfUser' size=\"1\" >
			<OPTION SElECTED>tous
			<OPTION value=\"children\">children
			<OPTION value=\"godfathers\">godfathers
			<OPTION value=\"donateurs\">givers
			<OPTION value=\"correspondants\">correspondants
			</SELECT>";
			echo "<input type=\"submit\" value=\"Voir\"  <br /></form>";
lors du 1er clique, j'ai "index2.php?option=com_informations&task=" qui s'affiche mais pas le contenu de $_POST['typeOfUser'], qui lui n'apparait que lors du second clique (quand la page s'est donc deja rechargee).

precision : j'ai l'erreur sous IE et FF, et c'est pour un composant joomla

edit : j'ai cherche dans les FAQ/tuto sans trouver d'aide. et ce message a peut etre plus sa place dans la section formulaire.
lkryss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 08h57   #2
Membre du Club
 
Inscription : mars 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 53
Points : 47
Points : 47
Salut ton probleme est normal.
Regarde :

Code :
1
2
 
echo "<form method=post action='index2.php?option=com_informations&task=".$_POST['typeOfUser']."'> ";
Lors du premier clique ta page ne connait pas $_POST['typeOfUser']. Cette valeur est nulle.

Par contre au deuxieme etant donnee que le formulaire a ete soumis une fois, elle peut le connaitre.

Une chose que je ne comprends pas c'est à quoi te sert de mettre dans ton url une variable envoyer en post
Je m explique tu peux faire un test et faire tes traitements. Comme ca tout marcherai lors du premier clique

Code :
1
2
3
4
5
6
7
8
9
 
<?php
echo "<form method=post action='index2.php?option=com_informations'>";
 
// isset te renvoie vrai s il y a une valeur et false si c' est nulle
if (isset($_POST['typeOfUser'])){
 // tontraitement
}
?>
J espere avoir repondu a ton probleme

Ste
ste06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 10h09   #3
Membre à l'essai
 
Avatar de lkryss
 
Inscription : juin 2006
Messages : 91
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : juin 2006
Messages : 91
Points : 23
Points : 23
hum, en fait je fais le traitement de la reponse via un autre page php, et j'avais cru comprendre que de cette maniere je n'avais pas besoin du isset (c'est a cause de joomla que je procede comme ca).

j'ai reuss ia me debrouiller comme ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 function &choixInfos($db) { 
 
		//if (isset($task)){$task = 'truc';}else{$task = 'truc';}
 
			echo "<form method=post action='index2.php?option=com_informations'>";
			//&task=".$_POST['typeOfUser']."
 
		if (isset($_POST['typeOfUser'])){
			if ($_POST['typeOfUser'] == 'tous') {InformationsScreens::voirLesGens($db, 'tous');}
			if ($_POST['typeOfUser'] == 'children') {InformationsScreens::voirLesGens($db, 'children');}
			if ($_POST['typeOfUser'] == 'godfathers') { InformationsScreens::voirLesGens($db, 'godfathers');}
			if ($_POST['typeOfUser'] == 'givers') { InformationsScreens::voirLesGens($db, 'givers');}
			if ($_POST['typeOfUser'] == 'correspondants') { InformationsScreens::voirLesGens($db, 'correspondants');}
			} else {
					echo "<center><br />Recherche d'informations sur un groupe:<br /><br /></center>"
					."<SELECT name='typeOfUser' size=\"1\" >
					<OPTION SElECTED>tous
					<OPTION value=\"children\">children
					<OPTION value=\"godfathers\">godfathers
					<OPTION value=\"donateurs\">givers
					<OPTION value=\"correspondants\">correspondants
					</SELECT>";
					echo "<input type=\"submit\" value=\"Voir\"  <br /></form>";}
		}
je ne suis pas sur que ca soit conforme aux normes joomela mais tant pis ! (je crois que je suis sense faire mes appels de fonction sur une autre page, pas sur la meme)
merci pour le coup de main
lkryss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web