Récupération de la valeur d'un champ texte

Résolu/Fermé
Signaler
Messages postés
11
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
4 février 2013
-
Messages postés
11
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
4 février 2013
-
Salut je souhaite obtenir de l'aide je suis débutante en php.
Au fait j 'ai un formulaire qui contient deux zone de texte et un bouton envoyer.mon Pb est le suivant remplir les deux zones de texte et récupérer ses informations appuyer sur le bouton valider.Le bouton valider doit me rediriger vers une url qui contient l'adresse d'une application installée en locale plus les données récupérées dans les champ texte passé en paramètre voici mon code:

<form method="GET">
<input type ="text" name="champ1">
<input type="text" name="champ2">
<a href="localhost:10013/sensd? to=<? $_GET['champ1']; ?>&text=<? $_GET['champ2']"; ?><input type="submit" name="Envoyer"></a>
</form>
au fait toute l'url doit etre transmise et visible dans le navigateur
Merci à vous!j'espère que j'ai été explicite

2 réponses

Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
280
Salut,

Tu n'as visiblement pas du tout compris le fonctionnement du formulaire html.

Pour faire ce que tu cherches à faire, il suffit de définir l'adresse de destination des données dans l'attribut "action" de ta balise form. Tu n'as pas besoin de spécifier dans cette url les valeurs à transmettre, puisque le fait que tu indiques utiliser la méthode "get" les passera de fait automatiquement dans l'url.
Le bouton submit se charge ensuite d'envoyer les résultats du formulaire selon les paramètres de la balise form, sans que tu aies besoin de lui attribuer un lien par l'intermédiaire de la balise a (ce qui est incorrect).

<form action="http://localhost:10013/sensd" method="get">     
<input type ="text" name="champ1" />     
<input type="text" name="champ2" />     
<input type="submit" value="Envoyer" />     
</form>
0
Messages postés
11
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
4 février 2013

Merci pour votre réponse mais je crois avoir mal spécifié le contexte.
Je bosse actuellement sur un projet de mise en place d'une application web qui permettra d'envoyer des sms via une passerelle Kannel (j ai déja configurer kannel c ok).

Je faisais le test en saisissant la commande directement dans la barre d'adresse du navigateur:http://localhost:13013/cgi-bin/senssms?username=kanneluser&password=kanneluser&to=numdestinataire&text=contenumsg.
numdestinataire étant le numéro du destinataire à saisir
contenumsg étant le contenu du message
Maintenant je souhaite le faire à partir d'une interface graphique donc comme je le disait plus haut j'ai créé deux zones de texte une pour le numéro d'envoi et l'autre pour le contenu du msg et à partir du bouton envoyer faire un lien vers cette adresse.Voici le code:


<form method="GET">
<input type ="text" name="champ1">
<input type="text" name="champ2">
<a href=http:"//localhost:13013/cgi-bin/senssms?username=kanneluser&password=kanneluser&to=<? $_GET['numdestinataire']; ?>&text=<? $_GET|'contenumsg']; ?>"><input type="submit" name="Envoyer"></a>
</form>
mais le pb la page s'affiche dans le navigateur mais le contenu des champs passé en paramètre reste vide

SVP votre aide me sera d'un grand apport
0
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
280
As-tu au moins essayé ce que je t'ai montré (en remplaçant l'url de l'attribut "action" par celle que tu as modifiée entre temps) ?

Car quel que soit le contexte, ce que tu fais n'as aucun sens :

1 - Php ne peut pas accéder instantanément comme cela à des variables qui sont saisies dans un formulaire sans qu'elles ne soient transmises au serveur. Tes "$_GET|'contenumsg'];" n'ont donc aucune chance de fonctionner.
2 - Un clic sur le bouton submit d'un formulaire transmet les données saisies à l'url placée dans l'attribut "action" du forum, selon la méthode spécifiée dans l'attribut "method". Tu n'as donc pas à créer explicitement un lien dans une balise a.
3 - Placer un bouton submit à l'intérieur d'une balise a n'a aucun sens. (D'autant plus que des guillemets sont placés après le http: de l'url...)
4 - Pour transmettre des variables qui n'ont pas à être saisies par l'utilisateur, tu peux les placer dans des balises input de type "hidden".
5 - Pour pouvoir accéder au données saisies par l'utilisateur, il faut les appeler par l'attribut name qui a été donné aux balises input.

<form action="http://localhost:13013/cgi-bin/senssms" method="get">       
<input type ="text" name="to" />       
<input type="text" name="text" />   
<input type="hidden" name="username"   value="kanneluser" />  
<input type="hidden" name="password"   value="kanneluser" />  
<input type="submit" value="Envoyer" />       
</form>
0
Messages postés
11
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
4 février 2013

Merci bcp pour toutes tes réponses je n'avais vraiment pas compris le fonctionnement de la méthode GET avec tes explications j'ai maintenant compris .
Milles Merçi
0