Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1419 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Deux boutons submit dans un formulaire :x

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Deux boutons submit dans un formulaire :x

n°1016438
pouzy
Ne signe pas d'autographes..
Posté le 17-03-2005 à 18:18:37  profilanswer
 

Coucou à tous ;)  
J'ai fait des recherches, je suis tombé par exemple sur cette FAQ, mais je n'arrive pas à résoudre mon problème.
En fait, j'ai un formulaire d'envoi de tutoriaux, qui est un peu comme ça :  
 

Code :
  1. <form method="post" action="<?=$page?>">
  2. <?php
  3.  if ($_GET['edit'])
  4.  {
  5.   $requete = "SELECT * FROM aido_tutos WHERE Id=".$_GET['edit']." AND Auteur='$user'";
  6.   $result = mysql_query($requete, $idConnexion);
  7.   $enreg = mysql_fetch_array($result);
  8.   echo '<input type="hidden" name="id" value="'.$enreg['Id'].'" />';
  9.  }
  10. ?>
  11. <table class="table1">
  12. <tr>
  13.  <td class="table1">Catégorie : </td>
  14.  <td class="table1"><select name="Type">
  15. <?php
  16.  if (!$_GET['edit']) echo "<option>Choisissez...</option>";
  17.  $requete = "SELECT * FROM aido_tutos_type ORDER BY Name";
  18.  $result = mysql_query($requete, $idConnexion);
  19.  while ($enreg2 = mysql_fetch_array($result))
  20.  {
  21.   echo "\n".'<option value="'.$enreg2['Id'].'"';
  22.   if ($_GET['edit'] && $enreg['Type'] == $enreg2['Id'])
  23.   {
  24.    echo ' selected';
  25.   }
  26.   echo '>'.$enreg2['Name'].'</option>';
  27.  }
  28. ?>
  29. </td>
  30. </tr>
  31. <tr>
  32.  <td class="table1">Titre : </td>
  33.  <td class="table1"><input type="text" name="Titre" size="65" value="<?=$enreg['Titre']?>" /><small> (35 caracteres maximum)</small></td>
  34. </tr>
  35. <tr>
  36.  <td class="table1">Texte : </td>
  37.  <td class="table1"><textarea name="Texte" cols="65" rows="16"><?=$enreg['Texte']?></textarea></td>
  38. </tr>
  39. <tr>
  40.  <td class="table1">&nbsp;</td>
  41.  <td class="table1"><input type="submit" value="Enregistrer" name="ok">&nbsp;<input type="button" value="Pr&eacute;visualiser" onClick="$_POST['previsu']" name="previsu"></td>
  42. </tr>
  43. </table>
  44. </form>


 
Mon problème, c'est que j'ai un

Code :
  1. if ( isset ( $_POST['previsu'] ) )

 
 
Si je le mets tout en haut, le formulaire n'est pas posté lorsque l'on clique sur prévisualiser, et est posté avec le enregistrer. Ca doit être un coup de bol, ou une exploitation d'un bug de mon script, je sais pas .. :x  
 
Bref, pour le confort du posteur, je voudrais qu'il puisse récupérer son post lorsqu'il le prévisualise quoi, hisoitre de pas avoir à tout retaper :mrgreen:
 
Bref, bon, dans ce if isset, j'ai la prévisualisation, et aussi le même formulaire avec les values rentrées.
Et la, par contre, lorsque je reposte à partir de ce deuxi_ème formulaire, ça marche pas .. Ca envoie pas.  
Alors, si je mets pas ce if isset tout en haut mais un peu plus bas ( j'me comprends ), la requête est effectuée même si on clique sur le Prévisualiser ..  
 
Bref, il ne peut pas y avoir deux bouton submit qui effectuent deux actions bien différentes grâce à leurs noms ?  
Si oui, comment ? :)
 
Merci !


---------------
Hello hello super jello
mood
Publicité
Posté le 17-03-2005 à 18:18:37  profilanswer
 

n°1016828
bozocarzu
Posté le 18-03-2005 à 00:56:21  profilanswer
 

Hello,
 
Je comprends pas tous, mais tu peux avoir deux bouton submit qui font deux action differente sur un meme form !
 

Code :
  1. Test.html :
  2. ...
  3. <FORM ACTION='test.php' METHOD='POST'>
  4. <INPUT TYPE='text' NAME='text'1 VALUE='test bouton 1'>
  5. <INPUT TYPE='text' NAME='text2' VALUE='test bouton 2'>
  6. <INPUT TYPE='submit' NAME='bouton1' VALUE='Bouton 1'>
  7. <INPUT TYPE='submit' NAME='bouton2' VALUE='Bouton 2'>
  8. </FORM>
  9. ...


 

Code :
  1. test.php
  2. <?
  3. if(isset($_POST['bouton1'])){
  4. echo $_POST['text1'];
  5. }elseif(isset($_POST['bouton2'])){
  6. echo $_POST['text2'];
  7. }
  8. ?>


Message édité par bozocarzu le 18-03-2005 à 00:56:52
n°1017834
pouzy
Ne signe pas d'autographes..
Posté le 18-03-2005 à 18:08:31  profilanswer
 

En fait j'ai ça, mais soit le formulaire se valide même avec la prévisualisation, soit, si j'isole ma requete avec un isset ($_POST['ok']) , lorsque je prévisualise et qu'ensuite je clique sur envoyer, ça send plus à la BDD :cry:


---------------
Hello hello super jello
n°1018550
pouzy
Ne signe pas d'autographes..
Posté le 19-03-2005 à 18:52:03  profilanswer
 

B'Urp :)


---------------
Hello hello super jello
n°1018564
esox_ch
Posté le 19-03-2005 à 19:06:41  profilanswer
 

> bozocarsu : les tag html s'ecrivent en minuscules, ansi que leurs attributs ;)  
 
> pouzy , fait un print de tes $_POST ( => print_r() ) et tu comprendras probablement ou est l'erreur :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1018860
pouzy
Ne signe pas d'autographes..
Posté le 20-03-2005 à 11:21:31  profilanswer
 

Euh, je le fais où le print ? ( je suis débutant de chez débutant en PHP, aucune base fondée, que des observations des scripts des autres :( )


---------------
Hello hello super jello
n°1018863
esox_ch
Posté le 20-03-2005 à 11:24:19  profilanswer
 

Ou tu veux, le $_POST reste le meme sur tout le script (a moins que tu le modifie, ce qui n'a pas de sens)

n°1018894
pouzy
Ne signe pas d'autographes..
Posté le 20-03-2005 à 11:54:16  profilanswer
 

Je fais un print_r($_POST) ?  
Parce que si tu parles de juste voir si le $_POST marche bien , oui, lorsque tu clique sur la prévisu, tu vois ien ce que tu as écrit et tout ;) Je me sers des variables echo $_POST['Texte'] & co :)


---------------
Hello hello super jello
n°1018914
esox_ch
Posté le 20-03-2005 à 12:32:32  profilanswer
 

fai le print_r et regarde si tout ce que tu cherche y est. S

n°1018994
pouzy
Ne signe pas d'autographes..
Posté le 20-03-2005 à 14:51:37  profilanswer
 

J'ai peur de ne pas comprendre la .. :(  
 

Code :
  1. if ( isset ( $_POST['previsu'] ) )
  2. {
  3.   echo '<div align="center"><u><i>Voici un aperçu du tutoriel que vous vous apprêtez à envoyer. Vous pouvez encore le modifier.</i></u><br /><br /><br />
  4.   <tr><td class="tutos_page_tut"><br />Titre :<b>'.$_POST['Titre'].'</b><br /><br /></td></tr>
  5.   <center><tr><td class="tutos_page_tut"><br /><br />'.bbcode($_POST['Texte']).'<br /><br /></td></tr></center>
  6.   <tr><td class="tutos_page_tut"><br />Par <b>'.$user.'<br /><br /></b></td></tr>';
  7. print_r ($_POST);
  8. echo '<hr /><div align="center"><strong>Vous pouvez continuer de modifier votre tutoriel dans ce formulaire :</strong><br /><br /></div>';
  9. }


 
Ca, ça m'affiche bien ce que j'ai mis en texte dans le formulaire, mais rien pour le print_r ... :/ Help ? :)


---------------
Hello hello super jello
mood
Publicité
Posté le 20-03-2005 à 14:51:37  profilanswer
 

n°1018998
KangOl
Profil : pointeur
Posté le 20-03-2005 à 14:55:14  profilanswer
 

c'est quoi ce code :hebe:
a mon avis, il y a du DW la dessous :/


---------------
Nos estans firs di nosse pitite patreye...
n°1019013
pouzy
Ne signe pas d'autographes..
Posté le 20-03-2005 à 15:18:05  profilanswer
 

Nop ... mais du débutant .. pas de DW


---------------
Hello hello super jello
n°1019016
KangOl
Profil : pointeur
Posté le 20-03-2005 à 15:20:56  profilanswer
 

bin tu ferais mieux d'apprendre l'html avant, ca te permetrait de faire quelques chose qui marche au moins
 
parce que la ton code !!! elle est ou la balise <table>


---------------
Nos estans firs di nosse pitite patreye...
n°1019026
pouzy
Ne signe pas d'autographes..
Posté le 20-03-2005 à 15:32:49  profilanswer
 

Le code est pas entier ... Question HTML je pense que je m'en sors sinon j'aurais jamais réussi à faire le site de mon profil, non ?  
La c'est juste une question de php .. le isset est inclus dans une table ...  
 
Si t'as envie que je te C/C le code qui fait 232 lignes, j'veux bien ... :)  
 
Bref, pas d'idée autre que critique ? ;)


---------------
Hello hello super jello
n°1019269
esox_ch
Posté le 20-03-2005 à 20:06:32  profilanswer
 

Colle le print_r a la 1ere ligne de ton script.
 
Et non a voir tu y connais rien en html, donc ton site de profil est pas une preuve


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1021731
bozocarzu
Posté le 23-03-2005 à 09:33:42  profilanswer
 

esox_ch a écrit :

> bozocarsu : les tag html s'ecrivent en minuscules, ansi que leurs attributs ;)  


 
http://www.w3.org/TR/html401/interact/forms.html
 
J'avoue les attributs sont en minuscules ...... C'est pas de l XHTML ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Deux boutons submit dans un formulaire :x

 

Sujets relatifs
Remplissage de champ de formulaire entre fenêtresFormulaire : le choix ouvre une page
Programmation permettant de récupérer les données d'un formulaire.contenu d'une variable dans un champ de formulaire
[java] FormulaireValier un formulaire sous IE en VB
CSS et formulaireun compteur quand on clique sur un bouton submit d'un formulaire html
formulaire - deux boutons submit >> touche entrée 
Plus de sujets relatifs à : Deux boutons submit dans un formulaire :x


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR