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 20/06/2008, 00h21   #1
Invité de passage
 
Inscription : juin 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 5
Points : 2
Points : 2
Par défaut Récupération variables formulaire (commençant par echo)

Bonsoir à tous,

J'essaie désespérément de récupérer les variables du formulaire avec liste déroulante.

Voici le code ci-dessous :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
if (condition) {
echo 
"<label>Choisissez le nombre de personnes :</label>
 <SELECT  name=\"nbre\">
		<OPTION  value=\'1\' selected=\"selected\" >1</option>
		<OPTION  value=\'2\'>2</option>
		<OPTION  value=\'3\'>3</option>
		<OPTION  value=\'4\'>4</option>
		<OPTION  value=\'5\'>5</option>
 </select>"; 
}
?>
Lorsque j'essaie de récupérer la variable choisie avec le code suivant, rien ne s'affiche :

Code :
1
2
 
echo "Nombre de personnes : " . $_POST['nbre'] . "
Avec un formulaire classique html je n'ai aucun problème pour récupérer les variables, mais lorsque j'insère le formulaire dans un code php plus rien ne fonctionne.

Est-ce-que j'ai fait une erreur quelque part ??
Quelqu'un peut-il m'aider ??

merci
stuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2008, 08h08   #2
Membre actif
 
Avatar de BlackSmith
 
Inscription : mars 2008
Messages : 181
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2008
Messages : 181
Points : 186
Points : 186
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
if (condition) {
echo 
"<label>Choisissez le nombre de personnes :</label>
 <SELECT  name=\"nbre\">
		<OPTION  value='1' selected=\"selected\" >1</option>
		<OPTION  value='2'>2</option>
		<OPTION  value='3'>3</option>
		<OPTION  value='4'>4</option>
		<OPTION  value='5'>5</option>
 </select>"; 
}
?>
Comme-ça, sa devrait mieux marcher.
BlackSmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2008, 09h43   #3
Invité de passage
 
Inscription : juin 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 5
Points : 2
Points : 2
Bonjour,

Merci beaucoup pour ta réponse BlackSmith.

Mais le problème c'est que si je ne met pas de slash devant chaque accent et guillement, on me retourne des erreurs de syntaxe à ce niveau la.

Mais je voulais juste vous donner quelques explications pour que cela soit plus clair pour vous, et aussi parce-que si ça se trouve je me casse la tête pour rien avec cette méthode.

En fait ce que je souhaite faire, c'est créer un formulaire avec une liste déroulante proposant 3 choix, qui chacun renvoi vers un formulaire différent, et ainsi de suite.

Exemple :

Choisissez votre article :
- Outils -> Si choisi me renvoi avec formulaire outils
- Accessoires -> Si choisi me renvoi avec formulaire accesoire
- Divers -> Si choisi me renvoi avec formulaire divers

Shématiquement, c'est comme une arborescence avec différents chemins (formulaires) en fonction du choix effectué. Et chaque variable doit être récupérée d'une page à l'autre.

Et donc afin d'afficher le bon formulaire en fonction du choix, j'utilise la méthode if, elseif, else.

Exemple,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
$article = $_POST['article'];
 if ($article == 'outils'] {
  echo 
"<label>Choisissez un outil :</label>
 <SELECT  name=\"outil\">
		<OPTION  value=\'cle\' selected=\"selected\" >cle</option>
		<OPTION  value=\'marteau\'>marteau</option>
		<OPTION  value=\'tourne vis\'>tourne vis</option>
		<OPTION  value=\'ciseaux\'>ciseaux</option>
		<OPTION  value=\'perceuse\'>perceuse</option>
 </select>"; 
}
 elseif ($article = 'accessoires') {
  echo  // Formulaire accésoire et ainsi de suite...
 }
   else { echo // forumlaire divers
  }
?>
Je n'ai aucun problème pour afficher le bon formulaire suivant le choix du 1er formulaire vers le 2ème (car le 1er est entièrement en html), mais concernant le fait de passer du 2nd au 3ème formulaire, cela ne fonctionne pas car les variables ne sont pas transmises (et car le 2nd formulaire est entièrement inclus dans un code php).

Pour information, je n'ai pas inclus <form method="post"></form> dans le code php. Il se présente ainsi :

Code :
1
2
3
4
5
 
<form method="post" action="page3.php">
<?php //le code ci-dessus avec les if, elseif et les formulaires ?>
<input type=submit name=valider>
</form>
Je suis débutant.. Je ne sais pas du tout si j'utilise la bonne méthode.. J'espère que c'est un peu plus claire pour vous. Si ça se trouve, je fais n'importe quoi.

J'espère que mon message est clair.

Merci pour votre aide.
stuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2008, 18h00   #4
Membre actif
 
Avatar de elcoyotos
 
Inscription : octobre 2006
Messages : 297
Détails du profil
Informations personnelles :
Âge : 44

Informations forums :
Inscription : octobre 2006
Messages : 297
Points : 175
Points : 175
Quand tu fais un echo pour récupérer ta variable, il manque un ; àl la fin de la ligne
Code :
echo "Nombre de personnes : " . $_POST['nbre'] . "
Moi, quand je mélange php et html, je sépare le code. Par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

<?php
// Code PHP
if ($article == 'outils'] {
?>
<!-- Code HTML -->
<label>Choisissez un outil :</label>
<select name="outil">
<option value="cle" selected="selected" >cle</option>
<option value="marteau">marteau</option>
<option value="tourne vis">tourne vis</option>
<option value="ciseaux">ciseaux</option>
<option value="perceuse">perceuse</option>
</select>
<?php
}
?>
Cela évite les erreurs de syntaxe PHP (tilde et guillemet)

Mais bon, c'est ma méthode et peut être elle ne te conviendra pas.

Si tu as toujours un problème de récupération de variable, fait une copie de ton code source entier pour toutes les pages concernées
elcoyotos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 09h42   #5
Invité de passage
 
Inscription : juin 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 5
Points : 2
Points : 2
Bonjour,

Désolé de répondre aussi tard.

J'ai enfin pu résoudre mon problème... En fait c'était un problème bidon, il fallait noté de cette manière :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
if (condition) {
echo 
"<label>Choisissez le nombre de personnes :</label>
 <SELECT  name=nbre>
		<OPTION  value='1' selected=selected>1</option>
		<OPTION  value='2'>2</option>
		<OPTION  value='3'>3</option>
		<OPTION  value='4'>4</option>
		<OPTION  value='5'>5</option>
 </select>"; 
}
?>
Merci à tous de m'avoir aidé.
stuzzz 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 02h46.


 
 
 
 
Partenaires

Hébergement Web