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 17/04/2011, 23h25   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Par défaut envoyer et recuperer GET et POST en meme temps

Bonjour,

je voudrais récupérer plusieurs variables avec GET et POST.

J'ai fait cela mais ca ne fonctionne pas!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form id="test" action="test.php" method="post">
<input type="hidden" name="a_recup" value="variable_ici"/>
</form>
<a href='test.php?ville=paris' onclick='document.getElementById("test").submit()'>Ton lien</a>
<a href='test.php?ville=marseilles' onclick='document.getElementById("test").submit()'>Ton lien1</a>
<?php
 
$variable=$_POST['a_recup'];
 
echo $variable;
 
$ville=$_GET['ville'];
echo $ville;
 
?>
Cela est il possible?
Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 08h23   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Cela est possible mais dans ton cas je ne vois pas l'intérêt de passer la ville via une variable GET.
On pourrait plus facilement s'en sortir avec des boutons :
Code html :
1
2
3
4
5
<form id="test" action="test.php" method="post">
<input type="hidden" name="a_recup" value="variable_ici"/>
<input type="submit" name="ville" value="paris" />
<input type="submit" name="ville" value="marseille" />
</form>

Une autre solution en gardant ton architecture serait de placer la ville en dur dans l'action du form, et donc d'avoir un form par ville.

Et pour finir tu peux aussi via javascript modifier la valeur de l'attribut action avant de poster le formulaire et donc incorporer la variable ville dans l'url.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 13h29   #3
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Merci de ta reponse, en fait il s'agit d'un menu qui va afficher mes villes les unes apres les autres. Ces villes sont generer de la facon suivante

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql = "SELECT DISTINCT villes FROM menuvillle WHERE id IN (".$villesselectionnees.") ";
$requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
 
while( $result = mysql_fetch_array( $requete) )
{  
 
 
echo '<tr>
<td width="40">
</td>
<td>
 
<a href="organisation_voyage.php?catville='.stripslashes($result["villes"]).'" onclick="document.getElementById("form_reservations").submit()">'.stripslashes($result["villes"]).'</a>
donc je ne peux pas connaitre la selection que l'utilisateur va choisir ni les mettre dans un "input text" car je veux recuperer uniquement la ville selectionnees par l'utilisateur.

Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 08h07   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Donc si je comprends bien c'est un menu pour sélectionner une ville sans plus ?
Pourquoi passer par un formulaire ? Un lien suffirait amplement !
Quelle est l'information que tu passes dans $_POST['a_recup'] ?
Car à mon avis tu es en train de développer une usine à gaz...
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/04/2011, 10h11   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Si tu as besoin d'un formulaire uniquement pour faire transiter des valeurs entre les pages, utilise plutôt $_SESSION, sinon tu t'expose à des menaces de sécurité.

Si ce n'est pas le cas, je rejoins ce que disait transgohan au sujet des liens.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 13h39   #6
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Bonjour,

Je vous ai mis tout le code qui concerne cette partie pour vous montrer ce que je veux faire.

Je veux juste conserver les informations inscrites par l'utilisateur dans textarea si celui-ci change de ville.

Je suis ok pour utiliser $_SESSION mais comment l'interer dans ce code?

Merci

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<form action="organisation_voyage.php" name="test" method="post" id="test">
<?php
echo '<table width="305" border="0" cellspacing="2" cellpadding="0" bgcolor="#2274C8">';
$sql1 = "SELECT * FROM menu  WHERE id IN (".$villedupanier.")";
$requete1 = mysql_query( $sql1, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
 
while( $result1 = mysql_fetch_array( $requete1) )
{  
 
 
echo '<tr>
<td width="40"><textarea COLS=35 ROWS=1  id=mesinfo'.$result["id"].' name=mesinfo'.$result["id"].'>  </textarea>
</td>
<td>
 
 
</td>
  </tr>';
 
 
}
?>
 
<?php
$sql = "SELECT DISTINCT ville FROM menu  WHERE id IN (".$villedupanier.") ";
$requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
 
while( $result = mysql_fetch_array( $requete) )
{  
 
 
echo '<tr>
<td width="40">
</td>
<td>
 
<a href="#" onclick="document.getElementById("test").submit()">'.stripslashes($result["ville"]).'</a>
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h21   #7
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Pourquoi ne pas utiliser une balise <select> pour la liste de tes villes ?
Je ne vois pas l'intérêt de recharger la page dans ton cas...
Il vaudrait mieux que tu changes le script de réception pour récupérer $_POST['ville'] plutôt que $_GET['ville'].
Sinon tu vas partir dans des solutions nécessitant du code pour former des usines à gaz...
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 18h16   #8
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Effectivement un select serait une solution mais je ne voulais pas l'utiliser pour des raisons d'esthetisme graphisque. Mais bon il semble que sans select point de salut
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 07h58   #9
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Si tu souhaites absolument passer par des liens dans ce cas tu peux utiliser du Javascript.

Un input de type hidden et une simple affectation de valeur :
Code html :
1
2
3
4
<input type="hidden" id="ville" name="ville" value="Paris" />
<a href="#" onclick="document.getElementById('ville').value='Paris';">Paris</a>
<a href="#" onclick="document.getElementById('ville').value='Nantes';">Nantes</a>
<a href="#" onclick="document.getElementById('ville').value='Compiègne';">Compiègne</a>
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h54.


 
 
 
 
Partenaires

Hébergement Web