Page 1 sur 2

envoyer des informations en post et en get

Posté : 11 avr. 2008, 12:21
par hakazizi
j'ai un formulaire et je voudrais envoye les information en post et en get.

Code : Tout sélectionner

<form action="moteur1.php" method="get"> votre recherche:<input name="recherche" value="<?php echo"$recrherche_produit"; ?>"> <input type="hidden" name="valeur" value="15698456258885"> <button type="submit">rechercher</button>
j'ai essayé.

Code : Tout sélectionner

<form action="moteur1.php" method="get" method="post"> votre recherche:<input name="recherche" value="<?php echo"$recrherche_produit"; ?>"> <input type="hidden" name="valeur" value="15698456258885"> <button type="submit">rechercher</button>
et

Code : Tout sélectionner

<form action="moteur1.php" method="get,post"> votre recherche:<input name="recherche" value="<?php echo"$recrherche_produit"; ?>"> <input type="hidden" name="valeur" value="15698456258885"> <button type="submit">rechercher</button>
je voudrais envoyé recherche dans l'url et valeur en post.
merci

Posté : 11 avr. 2008, 12:42
par AB
Si tu dois récupérer recherche, à priori je vois pas ça simple.

Sinon tu peux faire deux formulaires distincts (qui ne paraitront qu'un) et envoyer les deux avec le même bouton. Inconvénient ça ne fonctionnera que si JS est activé.

Posté : 11 avr. 2008, 12:47
par pjl
Si tu veux du post pour que l'internaute ne voit pas le champ "valeur", utilise plutôt les sessions, ce sera plus sécurisé.

Re: envoyer des informations en post et en get

Posté : 11 avr. 2008, 12:49
par zeus
Les données en Get, ce n'est rien de plus que des données transmises dans l'URL.
Si ton formulaire est en POST, pour envoyer des données en GET, il suffit de les ajouter à l'url de l'action du formulaire

Code : Tout sélectionner

<form action="moteur1.php?valeur=15698456258885" method="post"> votre recherche:<input name="recherche" value="<?php echo"$recrherche_produit"; ?>"> <input type="hidden" name="valeur" value="15698456258885"> <button type="submit">rechercher</button>

Re: envoyer des informations en post et en get

Posté : 11 avr. 2008, 12:49
par Calimero
Tu peux envoyer des paramètres GET à travers un formulaire POST en les écrivant dans l'url spécifiée dans l'attribut "action" de la balise <form>.

EDIT : grilled "à la courtepaille" by Zeus :-)

Posté : 11 avr. 2008, 12:58
par AB
@Zeus, Calimero

Oui, j'avais pensé à ça à priori mais comment fera-t-il pour passer dans l'url une valeur saisie par le visiteur dans le formulaire (en méthod post). C'est pour ça que je disais : si tu dois récupérer recherche...

Posté : 11 avr. 2008, 14:29
par Alkann
Je verrais cette solution :
  • déclaration du formulaire en method="POST"
  • ajout d'un appel js sur le bouton (onClick) qui appele une fonction
  • cette fonction va récupérer les parametres et reformer l'url de destination (le action)
  • submit du formulaire en javascript
Je n'ai pas testé mais je pense que c'est une solution possible... :roll:

Posté : 11 avr. 2008, 15:03
par Truc
@Zeus, Calimero

Oui, j'avais pensé à ça à priori mais comment fera-t-il pour passer dans l'url une valeur saisie par le visiteur dans le formulaire (en méthod post). C'est pour ça que je disais : si tu dois récupérer recherche...
javascript :)

Posté : 11 avr. 2008, 16:11
par pjl
Et passer celle ligne là en session ?
<input type="hidden" name="valeur" value="15698456258885"> 
Ca ne motive personne ?

Posté : 11 avr. 2008, 16:35
par steph29
question essentielle:
quel est le but de passer la recherche dans l'url (en get)?
si c'est pour pouvoir copier l'url et réafficher le resultat il te manqueras, malgre tout, ta value....

donc on en revient au meme probleme...

Posté : 11 avr. 2008, 19:04
par hakazizi
question essentielle:
quel est le but de passer la recherche dans l'url (en get)?
si c'est pour pouvoir copier l'url et réafficher le resultat il te manqueras, malgre tout, ta value....

donc on en revient au meme probleme...
tout simplement si je n'ai pas "valeur" je ne traite pas l'information envoyé.
sa fait parti de la securité

Posté : 11 avr. 2008, 19:17
par zeus
question essentielle:
quel est le but de passer la recherche dans l'url (en get)?
si c'est pour pouvoir copier l'url et réafficher le resultat il te manqueras, malgre tout, ta value....

donc on en revient au meme probleme...
tout simplement si je n'ai pas "valeur" je ne traite pas l'information envoyé.
sa fait parti de la securité
Sachant qu'il est l'enfance de l'art que d'envoyer des données GET ou POST, et qu'il suffit de regarder le code source pour savoir ce que tu attends comme données, je pense que ton système de sécurité te pose plus de soucis de mise en place qu'il ne t'apporte comme sécurité ;)

Posté : 12 avr. 2008, 12:46
par pjl
question essentielle:
quel est le but de passer la recherche dans l'url (en get)?
si c'est pour pouvoir copier l'url et réafficher le resultat il te manqueras, malgre tout, ta value....

donc on en revient au meme probleme...
tout simplement si je n'ai pas "valeur" je ne traite pas l'information envoyé.
sa fait parti de la securité
Même réponse que Zeus d'ou ma première intervention sur ce fil : passer cette valeur en variable de sessions.


PJL qui a l'impression de parler dans le vide.

Posté : 12 avr. 2008, 13:52
par hakazizi
PJL qui a l'impression de parler dans le vide.
non tu ne parle pas dans le vide c'est juste que si j'ai une session ouverte je ne peut en ouvrir une autre sous peine de supprimé la premiere.
exemple.
si j'ai "$_session['client']" ouverte si j'ouvre une session "$_session['valeur']" la session client sera fermer.
c'est pour cela que je n'ai pas donnée suite a ce que tu as dit.
Sachant qu'il est l'enfance de l'art que d'envoyer des données GET ou POST, et qu'il suffit de regarder le code source pour savoir ce que tu attends comme données, je pense que ton système de sécurité te pose plus de soucis de mise en place qu'il ne t'apporte comme sécurité ;)
je m'en sert comme securité de cette maniere.
<?php
$ver=md5("15698456258885");
?>
<form action="moteur1.php" method="get"> 
votre recherche:<input name="recherche" value="<?php echo"$recrherche_produit"; ?>"> 
<input type="hidden" name="valeur" value="<?php echo"$ver"; ?>"> 
<button type="submit">rechercher</button>
et dans la recup cela donne ceci.
<?php
$ver1=md5("15698456258885"); 
if($ver1==$_POST['valeur'])
{
echo"on traite le champs recherche";
}
else
{}
//on ne fait rien
?>
maintenant je n'ai plus qu'à modifier ma valeur
en fait c'etait pour simplifier que j'ai mis cela comme sa

Posté : 12 avr. 2008, 20:23
par Truc
non tu ne parle pas dans le vide c'est juste que si j'ai une session ouverte je ne peut en ouvrir une autre sous peine de supprimé la premiere.
exemple.
si j'ai "$_session['client']" ouverte si j'ouvre une session "$_session['valeur']" la session client sera fermer.
:shock:
essaie malgré tout... tu seras certainement étonné ;)

Tu "n'ouvres" pas une nouvelle session mais tu crées une nouvelle variable que tu ajoutes à la même session.