[résolu]Formulaire en PHP

Formulaire en PHP [résolu] - PHP - Programmation

Marsh Posté le 10-10-2005 à 10:26:19    

Salut à tous,  
J'ai créer un formulaire permettant de choisir une personne dans une liste déroulante. Ensuite on peut afficher le détail. Et après décider si on veut modifier ou supprimer cette personne.
Là où ça bloque c'est que si j'appuie sur modifier ça envoie à la page modifier avec action ="?modrep" mais j'arrive pas à faire que supprimer envoie sur la page supprimer!! Voici le code:

Code :
  1. include('lib/connection.lib.php');
  2. include('lib/erreur.lib.php');
  3. $req = "SELECT * FROM representant ORDER BY repnom";
  4. $result = Mysql_Query($req) or die ($errReq);
  5. ?>
  6. <form method="post" action="?affimodsupprep">
  7.                 <select name="repchoisi">
  8.                 <?
  9.                 while ($ligne=mysql_fetch_array($result))
  10.                 {
  11.    $repchoisi2 = $_POST['repchoisi'];
  12.                 extract($ligne);
  13.    if($repchoisi2 == $repnum) {echo "<option value='$repnum' selected>$repnom";}
  14.    else {echo "<option value='$repnum'>$repnom";}
  15.                 }
  16.                 ?>
  17.                 </select>
  18.                   <p><input type="submit" name="boutondetail" value="Detail"></p>
  19. </form>
  20. <?
  21. if ($_POST['boutondetail'] == "Detail" )
  22. { $repchoisi = $_POST['repchoisi'];
  23. $req2 = "SELECT * FROM representant WHERE repnum='$repchoisi'";
  24. $result2 = Mysql_Query($req2) or die ($errReq);
  25. $repdata = mysql_fetch_assoc($result2);
  26. ?>
  27. </form>
  28. <form METHOD="POST" ACTION="?modrep">
  29. <input type="hidden" name="repchoisi" value="<?=$repchoisi?>">
  30. <table width="50%" border="0" cellspacing="0" cellpadding="0">
  31. <tr>
  32. <td width="25%"><label for="num">Num&eacute;ro:</label></td>
  33. <td width="75%"><? echo(html_entity_decode($repdata['repnum'], ENT_QUOTES)); ?></td>
  34. </tr>
  35. <tr>
  36. <td width="25%"><label for="nom">Nom:</label></td>
  37. <td width="75%"><? echo(html_entity_decode($repdata['repnom'], ENT_QUOTES)); ?></td>
  38. </tr>
  39. <tr>
  40. <td width="25%"><label for="prenom">Pr&eacute;nom:</label></td>
  41. <td width="75%"><? echo(html_entity_decode($repdata['reppre'], ENT_QUOTES)); ?></td>
  42. </tr>
  43. <tr>
  44. <td width="25%"><label for="adresse">Adresse:</label></td>
  45. <td width="75%"><? echo(html_entity_decode($repdata['repadr'], ENT_QUOTES)); ?></td>
  46. </tr>
  47. <tr>
  48. <td width="25%"><label for="npa">NPA:</label></td>
  49. <td width="75%"><? echo(html_entity_decode($repdata['repnpa'], ENT_QUOTES)); ?></td>
  50. </tr>
  51. <tr>
  52. <td width="25%"><label for="loc">Localit&eacute;:</label></td>
  53. <td width="75%"><? echo(html_entity_decode($repdata['reploc'], ENT_QUOTES)); ?></td>
  54. </tr>
  55. <tr>
  56. <td width="25%"><label for="tel">T&eacute;l&eacute;phone:</label></td>
  57. <td width="75%"><? echo(html_entity_decode($repdata['reptelpri'], ENT_QUOTES)); ?></td>
  58. </tr>
  59. <tr>
  60. <td width="25%"><label for="mob">Mobile:</label></td>
  61. <td width="75%"><? echo(html_entity_decode($repdata['repmob'], ENT_QUOTES)); ?></td>
  62. </tr>
  63. <tr>
  64. <td width="25%"><label for="ville">Ville d'action:</label></td>
  65. <td width="75%"><? echo(html_entity_decode($repdata['repvilletrav'], ENT_QUOTES)); ?></td>
  66. </tr>
  67. </table>
  68. <input name ="boutonmod" type="submit" value="Modifier">
  69. <input name ="boutonsupp" type="submit" value="Supprimer" href ="?suprep" target="_parent">
  70. <?
  71. mysql_close();
  72. }
  73. ?>


 
Est-ce qu'une âme généreuse pourrait me débloquer car là, j'ai beau chercher, mettre des href ça joue pas...
Si jamais pour mon lien avec ? j'utilise l'include dans mon index donc le problème n'est pas là.
D'avance merci!


Message édité par limp15000 le 28-10-2005 à 13:55:33
Reply

Marsh Posté le 10-10-2005 à 10:26:19   

Reply

Marsh Posté le 10-10-2005 à 10:39:09    

Question con : c'est quoi l'action du formulaire dans lequel se trouve le bouton suprimer?
 
Seconde question con : ca fout quoi dans la catégorie php cette question d'html?

Reply

Marsh Posté le 10-10-2005 à 10:52:59    

Lol,  ben ta question ma permis de trouver la réponse tout seul:

# <input name ="boutonmod" type="submit" value="Modifier">
<form method="post" action="?suprep">
# <input name ="boutonsupp" type="submit" value="Supprimer" href ="?suprep" target="_parent">
#</form>
# <?
# mysql_close();
# }    
# ?>

Reply

Marsh Posté le 10-10-2005 à 11:05:42    

C'était justement le but de la question, que tu trouves tout seul la réponse. ;)
J'aurais pu te la donner directement, mais ca fait pas de mal de chercher un peu et de trouver sois même la solution. :)

Reply

Marsh Posté le 10-10-2005 à 11:08:30    

Merci, bien ça fonctionne.

Reply

Marsh Posté le 11-10-2005 à 15:35:06    

ayer pitié de ces tableaux !!!
 
dans le genre lourd ^^
 
un ptit coup d'XHTML et de CSS et tu divises le code par 5 au moins. ( de plus, tu n'es pas obliger de repetter les dimentions de chaque TD pour chaque nouveau TR )
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Marsh Posté le 13-10-2005 à 11:04:58    

Devine quoi, y a plus de tableau nul part dans mon code ;)
Je les ai banni définitivement...
Et ça fonctionne super bien avec le XHTML et le CSS!

Reply

Marsh Posté le 13-10-2005 à 15:54:47    

tant mieux !


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Marsh Posté le 14-10-2005 à 14:48:42    

Rebonjour,
J'ai un formulaire qui insère des données pour les clients:

Code :
  1. <form action="?ajoutcli" method="post">
  2. <b class="rouge">Les champs avec * doivent &ecirc;tre renseign&eacute;s</b>
  3. <fieldset>
  4. <label for="nom"><?if ($nom == "" ){?><b class="rouge">Nom:</b><?}else{?>Nom<b class="rouge">*</b>:<?}?></label>
  5. <input type="text" id="nom" value="<? echo $_POST['clinom']; ?>" name="clinom"  size="40" maxlength="30"><br />
  6. <label for="prenom"><?if ($prenom == "" ){?><b class="rouge">Pr&eacute;nom:</b><?}else{?>Pr&eacute;nom<b class="rouge">*</b><?}?></label>
  7. <input type="text" id="prenom"  value="<? echo $_POST['clipre']; ?>" name="clipre" size="40" maxlength="30"><br />
  8. <label for="adresse"><?if ($adresse == "" ){?><b class="rouge">Adresse:</b><?}else{?>Adresse<b class="rouge">*</b><?}?></label>
  9. <input type="text" id="adresse" value="<? echo $_POST['cliadr']; ?>" name="cliadr" size="60" maxlength="60"><br />
  10. <label for="npa"><?if ($npa == "" ){?><b class="rouge">NPA:</b><?}else{?>NPA<b class="rouge">*</b>:<?}?></label>
  11. <input type="text"id="npa" name="clinpa" value="<? echo $_POST['clinpa']; ?>" size="4" maxlength="4"><br />
  12. <label for="loc"><?if ($loc == "" ){?><b class="rouge">Localit&eacute;:</b><?}else{?>Localit&eacute;<b class="rouge">*</b>:<?}?></label>
  13. <input type="text" id="loc" name="cliloc" value="<? echo $_POST['cliloc'];?>" size="40" maxlength="30"><br />
  14. <label for="tel"><?if ($tel == "" ){?><b class="rouge">T&eacute;l&eacute;phone:</b><?}else{?>T&eacute;l&eacute;phone<b class="rouge">*</b>:<?}?></label>
  15. <input type="text" id="tel"  name="clitel" value="<? echo $_POST['clitel']; ?>" size="15" maxlength="15"><br />
  16. <label for="mob">Mobile:</label>
  17. <input type="text" id="mob" name="climob" size="15" maxlength="15"><label for="datenaissance"><?if ($datenaissance == "" ){?><b class="rouge">Date de naissance:</b><?}else{?>Date de naissance<b class="rouge">*</b>:<?}?></label>
  18. <input type="text" id="datenaissance" name="clidatenais" value="00-00-0000" size="10" maxlength="10"><br />
  19. <label for="numidentite"><?if ($numidentite == "" ){?><b >Num&eacute;ro carte d'identit&eacute;:</b><?}else{?>Num&eacute;ro carte d'identit&eacute;<b class="rouge">*</b>:<?}?></label>
  20. <input type="text" id="numidentite" name="clinumide" value="<? echo $_POST['clinumide']; ?>" size="9" maxlength="9"><br />
  21. <label for="motpasse"><?if ($motpasse == "" ){?><b class="rouge">Mot de passe:</b><?}else{?>Mot de passe<b>*</b>:<?}?></label>
  22. <input type="text" id="motpasse" name="climdp" value="<? echo $_POST['climdp']; ?>" size="20" maxlength="20"><br />
  23. <label for="cliparraine">Num&eacute;ro client parrainage:</label>
  24. <input type="text" id="cliparraine" name="clinum_est_parraine" size="10" maxlength="10">
  25. <label for="clicom">Commentaire:</label>
  26. <TEXTAREA type="text" id="clicom" name="clicom" size="300" maxlength="300"></TEXTAREA><br />
  27. </fieldset>
  28. <fieldset>
  29. <input type="submit" name="ajouter" value="Ajouter" />
  30. <input type="hidden" name="clinum" value="<?=$id ?>">
  31. <input  type="reset" value="Effacer" />
  32. </fieldset>
  33. </form>


 
Y a bien sûre une requête qui insère tout celà. Ca fonctionne à merveille.
Je fais ensuite une recherche par nom pour afficher les infos d'un client.  

Code :
  1. if ($_POST['Rechercher'] == "Rechercher" )
  2. {
  3. $nom = $_POST['clinom'];
  4. $rqtRechClient = "SELECT * FROM client WHERE clinom ='$nom'";
  5. $repRechClient = mysql_query($rqtRechClient) or die ($errCli);
  6. while ($donneesclient = mysql_fetch_array($repRechClient))
  7. {
  8. if (!empty($donneesclient))
  9. {
  10. ?>
  11. <form method="POST" action="?rechcli" />
  12. <fieldset>
  13. <label for="nom">Nom:</label>
  14. <input type="text" id="nom" value="<? echo (html_entity_decode($donneesclient['clinom'], ENT_QUOTES)); ?>" name="clinom"  size="40" maxlength="30" /><br />
  15. <label for="prenom">Pr&eacute;nom:</label>
  16. <input type="text" id="prenom"  value="<? echo (html_entity_decode($donneesclient['clipre'], ENT_QUOTES)); ?>" name="clipre" size="40" maxlength="30" /><br />
  17. <label for="adresse">Adresse:</label>
  18. <input type="text" id="adresse" value="<? echo (html_entity_decode($donneesclient['cliadr'], ENT_QUOTES)); ?>" name="cliadr" size="60" maxlength="60" /><br />
  19. <label for="npa">NPA:</label>
  20. <input type="text"id="npa" name="clinpa" value="<? echo $donneesclient['clinpa']; ?>" size="4" maxlength="4" /><br />
  21. <label for="loc">Localit&eacute;:</label>
  22. <input type="text" id="loc" name="cliloc" value="<? echo (html_entity_decode($donneesclient['cliloc'], ENT_QUOTES));?>" size="40" maxlength="30" /><br />
  23. <label for="tel">T&eacute;l&eacute;phone:</label>
  24. <input type="text" id="tel"  name="clitel" value="<? echo $donneesclient['clitel']; ?>" size="15" maxlength="15" /><br />
  25. <label for="mob">Mobile:</label>
  26. <input type="text" id="mob" name="climob" size="15" maxlength="15"><label for="datenaissance">Date de naissance:</label>
  27. <input type="text" id="datenaissance" name="clidatenais" value="<? echo $donneesclient['clidatenais']; ?>" size="10" maxlength="10" /><br />
  28. <label for="numidentite">Num&eacute;ro carte d'identit&eacute;:</label>
  29. <input type="text" id="numidentite" name="clinumide" value="<? echo $donneesclient['clinumide']; ?>" size="9" maxlength="9" /><br /><br />
  30. <label for="motpasse">Mot de passe:</label>
  31. <input type="text" id="motpasse" name="climdp" value="<? echo $donneesclient['climdp']; ?>" size="20" maxlength="20" /><br />
  32. <label for="cliparraine">Num&eacute;ro client parrainage:</label>
  33. <input type="text" id="cliparraine" name="clinum_est_parraine" size="10" maxlength="10" /><br />
  34. <label for="clicom">Commentaire:</label>
  35. <TEXTAREA type="text" id="clicom" value="<? echo $donneesclient['clicom']; ?>" name="clicom" size="300" maxlength="300" /></TEXTAREA><br />
  36. <input type="hidden" name="clinum" size="10" value="<? $donneesclient['clinum']?>"maxlength="10" />
  37. </fieldset>
  38. <fieldset>
  39. <input type="submit" name="Modifier" value="Modifier" />
  40. </fieldset>
  41. </form>


Tout s'affiche correctement sauf le les commentaires sur le client qui sont pourtant dans la table...


Message édité par limp15000 le 14-10-2005 à 14:49:35
Reply

Marsh Posté le 14-10-2005 à 14:54:29    

Très sincérement ton code est tros bordélique à mon gout pour donner le courage de le lire...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 14-10-2005 à 14:54:29   

Reply

Marsh Posté le 14-10-2005 à 15:01:19    

Je comprends...

Reply

Marsh Posté le 14-10-2005 à 15:05:50    

regardes ton textarea dans la source html générée, tu y verras peut-être les "commentaires client", puis vas regarder comment se formatte un textarea dans la cat. HTML :)
et tu comprendras pourquoi tu les vois pas ...

Reply

Marsh Posté le 14-10-2005 à 15:21:49    

J'adore ce forum car il fait réfléchir et permet de trouver la réponse soi-même.
La solution:

<TEXTAREA type="text" id="clicom" value="" name="clicom" size="300" maxlength="300" /><? echo (html_entity_decode($donneesclient['clicom'])); ?></TEXTAREA><br />


 
Merci c'est cool ;)


Message édité par limp15000 le 14-10-2005 à 15:22:07
Reply

Marsh Posté le 14-10-2005 à 15:35:49    

oui, et tu peux virer value="", textarea n'a pas cet attribut ...

Reply

Marsh Posté le 14-10-2005 à 15:40:10    

juste ;)

Reply

Marsh Posté le 27-10-2005 à 15:18:14    

J'ai un problème et là je sèche réelement. J'ai un formulaire qui récupère plein de valeurs de plusieurs tables. Je souhaite pouvoir saisir la date de paiement du client et l'envoyé en hidden à une page qui va faire un update sur ma table!
Je récupère sans problème le numéro de la facture mais la date ne veut pas passer!!!
Ca me dépasse totalement!

Code :
  1. <?
  2. /*
  3. ---------------------------------------------------------
  4. Module : Consulter et génère facture
  5. Auteur :  
  6. ---------------------------------------------------------
  7. */
  8. include('lib/connection.lib.php');
  9. include('lib/erreur.lib.php');
  10. include('lib/date.lib.php');
  11. $my_table = mysql_query("SELECT COUNT(facnum) as TOTALFOUND from facture" );
  12. $totalfac = mysql_result($my_table,0,"TOTALFOUND" );
  13. if (($_POST['Rechercher'] == "Rechercher" )  && (($_POST['facnum']) > 0) && (($_POST['facnum']) <= $totalfac))
  14. { $numfacture = $_POST['facnum'];
  15. $rqt = "SELECT * FROM client JOIN facture ON clinum = facclinum WHERE clinum = facclinum AND facnum ='$numfacture'";
  16. //$rqt2 = "SELECT * FROM contrat JOIN facture ON  contnum = faccontnum WHERE contnum = faccontnum AND facnum ='$numfacture'";
  17. $rqt3 = "SELECT * FROM facture LEFT JOIN client ON (client.clinum=facture.facclinum) LEFT JOIN contrat ON (contrat.contnum=facture.faccontnum)   WHERE clinum=facclinum AND contnum=faccontnum AND facnum ='$numfacture' ORDER BY facnum";
  18. $resultcli = Mysql_Query($rqt) or die ($errReq);
  19. //$resultcont = Mysql_Query($rqt2) or die ($errReq);
  20. $resultfac = Mysql_Query($rqt3) or die ($errReq);
  21. $clidata = mysql_fetch_assoc($resultcli);
  22. //$contdata = mysql_fetch_assoc($resultcont);
  23. $facdata = mysql_fetch_assoc($resultfac);
  24. ?>
  25. <form METHOD="POST" ACTION="?modfacture">
  26. <fieldset>
  27. <label>Num&eacute;ro facture:</label>
  28. <?echo (html_entity_decode($facdata['facnum']));?><br />
  29. <label>Date de facturation:</label>
  30. <?echo (html_entity_decode(datefr($facdata['facdate'])));?><br />
  31. <label>Date de payement:</label>
  32. <input  name="facdatepayement"/><br />
  33. <label>Nombre de clés du trousseau:</label><br />
  34. <?echo ($facdata['facnbcletrou'])?><br />
  35. <label>Frais administratifs:</label>
  36. <?echo ($facdata['facfraisadmin']).' '.'CHF' ?><br />
  37. <label for="facprix">Prix avant rabais:</label>
  38. <?echo ($facdata['facprix']).' '.'CHF' ?><br />
  39. <label>Pourcentage rabais:</label>
  40. <?echo ($facdata['facrabpour']).' '.'%' ?><br />
  41. <label>Prix total:</label>
  42. <?echo ($facdata['factotalprix']).' '.'CHF' ?><br /><br />
  43. <label>Num&eacute;ro de contrat:</label>
  44. <?echo ($facdata['faccontnum']);?><br />
  45. <label>Num&eacute;ro client:</label>
  46. <?echo (html_entity_decode(utf8_decode($facdata['facclinum'])));?><br />
  47. <label>Nom client:</label>
  48. <?echo (html_entity_decode(utf8_decode($clidata['clinom'])));?><br />
  49. <label>Pr&eacute;nom client:</label>
  50. <?echo (html_entity_decode(utf8_decode($clidata['clipre'])));?><br />
  51. <label>Adresse client:</label>
  52. <?echo (html_entity_decode(utf8_decode($clidata['cliadr'])));?><br />
  53. <label>NPA client:</label>
  54. <?echo (html_entity_decode(utf8_decode($clidata['clinpa'])));?><br />
  55. <label>Localit&eacute; client:</label>
  56. <?echo (html_entity_decode(utf8_decode($clidata['cliloc'])));?><br />
  57. <label>T&eacute;l&eacute;phone client:</label>
  58. <?echo ($clidata['clitel']);?><br />
  59. <label>Mobile client:</label>
  60. <?echo ($clidata['climob']);?><br />
  61. <?$date= $_POST['facdatepayement'];?>
  62. </fieldset>       
  63. <fieldset>
  64. <p align="center"><input type="submit" name="modifier" value="Enregistrer date payment" /></p>
  65. <input type="hidden" name="facdatepay" value="<?=$date?>" />
  66. <input type="hidden" name="facnum" value="<?=$facdata['facnum']?>" />
  67. </form>
  68. <form action="fpdf/facturePDF.php" method="post" target="_blank" />
  69. <p align="center"><input type="submit" name="genererPDF" value="Générer PDF" /></p>
  70. <input type="hidden" name="contnum" value="<?=$facdata['facnum']?>" />
  71. </form>
  72. </fieldset>
  73. <?
  74. mysql_close();
  75. }
  76. else
  77. {
  78. ?>
  79. <form name="form" action="?detailfacture" method="post" />
  80. <fieldset>
  81. <label for="facnum">Num&eacute;ro de la facture:</label>
  82. <input type="text" id="facnum"  name="facnum"  size="40" maxlength="30" /><SCRIPT>document.form.facnum.focus();</SCRIPT><br />
  83. </fieldset>
  84. <input type="submit" name="Rechercher" value="Rechercher" />
  85. <input  type="reset" value="Effacer" />
  86. </form>
  87. <?
  88. echo("Il y a " ); echo($totalfac); echo(" factures." );
  89. }
  90. ?>

 
 
La page qui s'occupe de l'update:

Code :
  1. <?
  2. /*
  3. ---------------------------------------------------------
  4. Module : modifier date payement
  5. Auteur :  
  6. ---------------------------------------------------------
  7. */
  8. include('lib/connection.lib.php');
  9. include('lib/erreur.lib.php');
  10. include('lib/date.lib.php');
  11. $facdatepay = $_POST['facdatepay'];
  12. $facdatepay = dateus($facdatepay);
  13. $facnum = $_POST['facnum'];
  14. $sql = "UPDATE facture SET facdatepay = '$facdatepay' WHERE facnum='$facnum' LIMIT 1";
  15. $sql_results = mysql_query($sql) or die ($errReq);
  16. echo $facdatepay;
  17. echo $facnum;
  18. echo "<div align='center'>";
  19. echo "<font face='verdana' size='3'>Le date de paiement a bien &eacute;t&eacute; enregistr&eacute;!</font>";
  20. echo "</div>";
  21. ?>


Message édité par limp15000 le 27-10-2005 à 16:29:25
Reply

Marsh Posté le 27-10-2005 à 15:28:32    

C'est toujours le bordel ton truc... Fais moi plaisir arrête d'ouvrir des balises <? toutes les 2 lignes ;) Et ça te permettrait te pas te planter sur ce que tu veux afficher ;)
 
Tu l'as la valeur dans ton formulaire ou pas?

Reply

Marsh Posté le 27-10-2005 à 16:30:10    

Ben visiblement ma variable date <?$date= $_POST['facdatepayement'];?>
ne prend pas en post le input du dessus...  
mais c'est pas logique!

Reply

Marsh Posté le 27-10-2005 à 16:39:57    

Je sais pas si c'est toujours d'actualité, mais pendant des années, il était trés fortement déconseillé de mettre des balises input aprés le bouton de validation du formulaire vu que certains navigateurs oubliaient d'envoyer ce qui se trouver aprés celui ci.
 
Mais bon, déjà, ca serait bien que tu vérifies la valeur de ton input dans la page html générer avant de chercher un bug dans l'envoie des données du formulaire vers le serveur.

Reply

Marsh Posté le 28-10-2005 à 13:35:10    

Rien n'y fait la date ne veut pas passer en post!!!  
C'est abusé. Pourquoi le numéro passe sans autre et pas cette date!!????¨
Edit: Le hidden si je lui donne une autre valeur fonctionne... Donc c'est au niveau de mon formulaire que ma variable ne récupère rien...

Message cité 1 fois
Message édité par limp15000 le 28-10-2005 à 13:51:03
Reply

Marsh Posté le 28-10-2005 à 13:54:46    

limp15000 a écrit :

C'est abusé. Pourquoi le numéro passe sans autre et pas cette date!!????


Peut être parce que ton input pour la date n'a pas d'attribut type, alors que facnum en a un.

Reply

Marsh Posté le 28-10-2005 à 13:54:55    

Problème résolu!
Merci ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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