Récup d'un $_POST[] dans un form sans cliquer sur envoyer

Récup d'un $_POST[] dans un form sans cliquer sur envoyer - PHP - Programmation

Marsh Posté le 01-02-2006 à 17:01:09    

Bonjour,
 
Je vous sollicite à nouveau.  
 
Je souhaite faire poser une question "question1.php" où l'on offre le choix de réponse en images (qcm).
La difficulté est de répondre en cliquant sur la bonne image sans cliquez sur envoyer.
 
je me base sur le principe de formulaire avec  

Code :
  1. if (IsSet($_POST["Envoyer1"]) && $_POST["Envoyer1"] =="Envoyer1" ) {
  2. echo '<br>dans if  <br>ENVOYER1 '.$_POST["Envoyer1"];
  3. echo '<br>2 '.$_POST["Envoyer2"];
  4. }
  5. else{
  6. echo '<br>dans else';
  7. }
  8. ?>


 
et
 

Code :
  1. <form name="form1" id="form1" method="post" action="test.php">
  2.   <p>&nbsp;</p>
  3.   <p>
  4.     <input type="submit" name="Submit" value="Envoyer1" />
  5.     <input type="submit" name="Submit2" value="Envoyer2" />
  6.     <a href="#" title="aaa">test</a></p>
  7.   <p align="center">&nbsp;</p>
  8. </form>


 
évidement ça fonctionne pas et je prefererai 2 images liens en choppant la réponse dans une $variable.
 
je pense qu'il y a certainement une méthode simple qui m'échappe. :sarcastic:  
 
merci  
odo

Reply

Marsh Posté le 01-02-2006 à 17:01:09   

Reply

Marsh Posté le 01-02-2006 à 17:12:11    

:sweat:  
 
Alors ok c'est la fin de journée mais j'ai strictement rien compris.
Entre le titre, les explications qu'ont rien a voir et le code sorti tout droit de la toundra ouzbecke ...


Message édité par anapajari le 01-02-2006 à 17:12:59
Reply

Marsh Posté le 01-02-2006 à 17:13:18    

On va dire qu'il est tard, parce que j'ai rien capté à la question :D
 
Ceci dit

Citation :

Je souhaite faire poser une question "question1.php" où l'on offre le choix de réponse en images (qcm).
La difficulté est de répondre en cliquant sur la bonne image sans cliquez sur envoyer.


 
Tu sais qu'il existe un input de type image qui fait justement un submit de formulaire ?

Reply

Marsh Posté le 01-02-2006 à 17:32:28    

Milles excuses pour ce manque de clareté.
je pense que ma réponse est là "Tu sais qu'il existe un input de type image qui fait justement un submit de formulaire ?"
 
promis je serais +clair la prochaine fois

Reply

Marsh Posté le 02-02-2006 à 09:36:42    

salut je panse que sa pourait t'aider

Code :
  1. <input class="login_submit" type="image" name="submit" value="Connexion" src="skin/default/images/dabutton.gif" />

Reply

Marsh Posté le 02-02-2006 à 15:53:13    

dur dur d'être débutant et de bloquer sur une betise certainement
 
j'ai ce code test dans test.php :

Code :
  1. <p>TEST :</p>
  2. <p>
  3. <?php
  4. echo '<br> login_submit ='.$_POST["login_submit"];
  5. echo '<br>image = '.$_POST["image"];
  6. echo '<br> submit ='.$_POST["submit"];
  7. echo '<br>Connexion = '.$_POST["Connexion"];
  8. echo '<br> icone.gif ='.$_POST["icone.gif"];
  9. ?>
  10. &nbsp;</p>
  11. <form name="form1" id="form1" method="post" action="test.php">
  12.   <p>    <input class="login_submit" type="image" id="image" name="submit" value="Connexion" src="icone.gif" /> 
  13. <p align="center">&nbsp;</p>
  14. </form>
  15. <p>&nbsp;</p>
  16. </body>


je souhaite récuperé une variable fixe corespondant à l'image cliquer.
dans mon exemple j'ai mis une seul image pour tester.
Si je met method="get" , j'obtiens les valeur x et y de l'image.
 
Mon but et d'avoir une image "oui" et une image "non", on clique et ça envoi.
 
Merci
odo


Message édité par odo91600 le 02-02-2006 à 15:54:42
Reply

Marsh Posté le 02-02-2006 à 16:02:08    

si tu veux faire du on the fly sans recharger la page mais en interogeant le serveur, passe par de l'ajax...


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 02-02-2006 à 16:07:02    

" si tu veux faire du on the fly sans recharger la page mais en interogeant le serveur" non, je sais que ça c'est pas possible
 
au lieu d'avoir un bouton "envoyer", je veux une image qui ait un nom distincte.

Reply

Marsh Posté le 02-02-2006 à 16:08:07    

odo91600 a écrit :

" si tu veux faire du on the fly sans recharger la page mais en interogeant le serveur" non, je sais que ça c'est pas possible
 
au lieu d'avoir un bouton "envoyer", je veux une image qui ait un nom distincte.


 
Tu veux que ça soit ton image qu'il soit cliquable et qui fasse le submit ? donc ce n'a rien de compliqué, il est ou le probleme ?


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 02-02-2006 à 16:13:00    

bein j' arrive a ce que l'image fasse le submit; Mais je voudrais que ça envoi un label récuperable dans une variable. dans ce fichier ou dans un autre.

Reply

Marsh Posté le 02-02-2006 à 16:13:00   

Reply

Marsh Posté le 02-02-2006 à 16:15:16    

odo91600 a écrit :

bein j' arrive a ce que l'image fasse le submit; Mais je voudrais que ça envoi un label récuperable dans une variable. dans ce fichier ou dans un autre.


 
C'est simple, tu fais un truc comme ça :
 
tu mets un champ caché, genre RES.
 
<INPUT type="hidden" name="res" value="">
 
Puis, pour ton image, juste avant de faire le submit, tu remplis par JS le champ caché
 
<a href="#" onclick="document.toto.res.value=5;document.toto.submit();"><img src="toto.png"></a>
 
C'est un exemple, a toi d'adapter ça :D


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 02-02-2006 à 16:23:07    

chaced a écrit :

C'est simple, tu fais un truc comme ça :
 
tu mets un champ caché, genre RES.
 
<INPUT type="hidden" name="res" value="">
 
Puis, pour ton image, juste avant de faire le submit, tu remplis par JS le champ caché
 
<a href="#" onclick="document.toto.res.value=5;document.toto.submit();"><img src="toto.png"></a>
 
C'est un exemple, a toi d'adapter ça :D


[:vomiv]
 
Si tu as juste les 2 inputs dans ton form, le plus simpe reste de faire deux forms:

Code :
  1. <form name="form1" id="form1" method="post" action="test.php">
  2.     <input class="login_submit" type="image" id="image" name="submit" value="Connexion" src="icone.gif" /> 
  3.     <input type="hidden" name="image" value="img1"/>
  4. </form>
  5. <form name="form1" id="form1" method="post" action="test.php">
  6.     <input class="login_submit" type="image" id="image" name="submit" value="Connexion" src="icone2.gif" /> 
  7.     <input type="hidden" name="image" value="img2"/>
  8. </form>


 

Reply

Marsh Posté le 02-02-2006 à 16:33:04    

Mais stop les conneries là, déjà que la vague "Utilise Ajax" pour tout et n'importe quoi est lassante, mais si en plus tu en as qui vienne balancer ce genre de conseils et qui prouve direct leur méconnaissance de l'html de base...
 
(oups, désolé anapajari, ce n'était pas toi que la tirade visait :))
 
Bref, odo91600 :
 
Ton form est du genre

Code :
  1. <form method="POST" action="toto.php">
  2. <input type="image" value="oui" name="oui" src="oui.jpg" />
  3. <input type="image" value="non" name="non" src="non.jpg" />
  4. </form>


 
Si tout le monde était sous Mozilla/Firefox (enfin, n'importe quoi sauf IE plutôt :D), c'était facile, tu testais l'existence du $_POST['oui']. Sous IE, seules les coordonnées sont transmises, pas de problèmes :

Code :
  1. if (isset($_POST['oui_x'])){
  2. //blabla pour le bouton oui
  3. } elseif (isset($_POST['non_x'])){
  4. //blabla pour le bouton non
  5. }


 
script de base (les coordonnées seront toujours sous la forme nom.du.input_x ou y, facile de savoir quel bouton a envoyé l'info en les regardant) :)


Message édité par naceroth le 02-02-2006 à 16:34:05
Reply

Marsh Posté le 02-02-2006 à 16:54:06    

Eh oui, je sors de bozoland  :cry:  
j'essai de comprendre
 

chaced a écrit :


<INPUT type="hidden" name="res" value="">
Puis, pour ton image, juste avant de faire le submit, tu remplis par JS le champ caché
<a href="#" onclick="document.toto.res.value=5;document.toto.submit();"><img src="toto.png"></a>
C'est un exemple, a toi d'adapter ça :D


 
j'ai

Code :
  1. <INPUT type="hidden" name="toto" value="AAAAAAAAAA">
  2.   <a href="#" onclick="document.toto.toto.value=5;document.toto.submit();"><img src="icone.gif"></a>


 
là mon image est cliquable. ce code est dans mon form <form name="form1" id="form1" method="post" action="test.php">
 
Mais comment s'appelle la variable $_POST["??"];

Reply

Marsh Posté le 02-02-2006 à 17:04:40    

Naaaaaan faut pas faire comme ça!!!!!
La solution de Naceroh est parfaite pour toi(et moi j'ai appris un truc en plus :o), tu peux pas faire plus simple!

Reply

Marsh Posté le 02-02-2006 à 17:10:21    

ah oui, j'avais pas vu, j'ai posté en meme temp
merci

Reply

Marsh Posté le 02-02-2006 à 17:15:03    

odo91600 a écrit :

Eh oui, je sors de bozoland  :cry:  
j'essai de comprendre
 
 
 
j'ai

Code :
  1. <INPUT type="hidden" name="toto" value="AAAAAAAAAA">
  2.   <a href="#" onclick="document.toto.toto.value=5;document.toto.submit();"><img src="icone.gif"></a>


 
là mon image est cliquable. ce code est dans mon form <form name="form1" id="form1" method="post" action="test.php">
 
Mais comment s'appelle la variable $_POST["??"];


 
$_POST[toto];
 
PS : par contre appeler le formulaire avec le meme nom qu'un input, je ne sais pas si ça marche.


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 06-02-2006 à 12:48:35    

ca devrait marcher mais le champ id est inutile dans la balise form, name suffit amplement ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed