Votre question

utilisation base sql pour un formulaire mail

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
1 Septembre 2008 15:12:33

Bonjour,

je reviens vers vous après de nombreuses modifications.

en effet, j'ai tenté l'ajax, et j'ai à peu près réussi mon opération.

il mem anque quelques petits points à éclaircir avant d'avoir complété le travail.

je vous donne les codes avant de m'expliquer



  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
  2. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5.  
  6. <title>Document sans nom</title>
  7. <script src="js.js" language="javascript"> </script>
  8. </head>
  9.  
  10. <body>
  11. <div align="center">
  12. <form method="post" action="mail.php">
  13. <div align="center">
  14. <table>
  15. <input type="hidden" name="subject" value="Commande"/>
  16. <tr>
  17. <td> Votre société: </td>
  18. <td width="180"><input type="text" name="Societe" size="30" />
  19. </td>
  20. </tr>
  21. <tr>
  22. <td> Votre Email: </td>
  23. <td><input type="text" name="Email" size="30" />
  24. </td>
  25. </tr>
  26. <tr>
  27. <td> Objet: </td>
  28. <td><input type="text" name="Sujet" size="30" />
  29. </td>
  30. </tr>
  31. <tr>
  32. <td> Informations complémentaires: </td>
  33. <td><p>
  34. <textarea name="Informations" cols="30" rows="3"></textarea>
  35. </p></td>
  36. </tr>
  37. </table>
  38. </div>
  39. <form method="post" onsubmit="" action="">
  40. <table width="434" border="0" align="center" cellspacing="0">
  41. <tr>
  42. <td width="64">Reference:</td>
  43. <td width="72">
  44. <input name="Ref" id="Ref" type="text" size="6" onchange="maFonctionAjax(this.value,'Nom');return false";return false">
  45. </td>
  46. <td width="70">Désignation</td>
  47. <td width="132"><input name="Nom" id="Nom" type="text" size="22" /></td>
  48. <td width="54">Quantite:</td>
  49. <td width="54"><input name="Quantite" id="quantite" type="text" size="2" /></td>
  50. </tr>
  51. </table>
  52. <div align="center"></div>
  53. <div align="center"></div>
  54. <div align="center">
  55. <input type="submit" value="Envoyer" />
  56. -
  57. <input type="reset" value="Annuler" />
  58. </div>
  59. </form>
  60. <div id="msg"></div>
  61. </body>
  62. </html>



_________________________________________________________________________

  1. <?
  2.  
  3. define('LOGIN', "");
  4. define('PASSWORD', "");
  5. define('SERVER', "");
  6. define('BASE', "");
  7.  
  8.  
  9. $connexion = mysql_connect (SERVER, LOGIN, PASSWORD) ;
  10.  
  11. if(!$connexion) {
  12. $message = "Le serveur ".SERVER." ne répond pas correctement. Merci de bien vouloir réessayer dans quelques instants." ;
  13.  
  14. }
  15.  
  16. if(!mysql_select_db(BASE, $connexion)) {
  17. $message = "Le base ".BASE." ne répond pas correctement. Merci de bien vouloir réessayer dans quelques instants." ;
  18.  
  19. }
  20.  
  21.  
  22.  
  23. //TA REQUETE SQL
  24. $requete = "SELECT * FROM guigui WHERE ref='".$_GET['id']."'" ;
  25. $result = mysql_query($requete, $connexion) ;
  26. if(!$result) echo mysql_error();
  27. //TEST DU NOMBRE DE RESULTAT DE TA REQUETE
  28. if (mysql_num_rows($result)>0){
  29. while($news = mysql_fetch_object($result)) {
  30. $resultat = $news->prod; }
  31. //SI IL N'Y A PAS DE RESULAT
  32. }else{$resultat = 'aucune produit ne correspond';}
  33.  
  34. echo $resultat;
  35.  
  36. ?>



________________________________________________________________________

  1. function maFonctionAjax(Id, Nom)
  2. {
  3. var OAjax;
  4. if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
  5. else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
  6. //LANCE LE FICHIER PHP AVEC LA VALEUR DU CHAMP ref
  7. OAjax.open('GET',"maPageDeRequPHP.php?id="+Id,true);
  8. OAjax.onreadystatechange = function()
  9. {
  10. if (OAjax.readyState == 4 && OAjax.status==200)
  11. {
  12. if (document.getElementById)
  13. {
  14. //AFFICHE LA REPONSE DANS LE CHAMP nom
  15. document.getElementById('Nom').value=OAjax.responseText;
  16. }
  17. }
  18. }
  19. OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  20. OAjax.send('Id='+Id+'&Nom='+Nom);
  21. }



__________________________________________________________________________________

  1. <?php
  2. $to = "";
  3.  
  4. $from = "From: " . $TO;
  5.  
  6. $subject = "commande";
  7. $message="";
  8.  
  9. if(isset($_POST['subject'])){
  10.  
  11. $message.=" Societe: ".$_POST['Societe']."\n";
  12. $message.=" Email: ".$_POST['Email']."\n";
  13. $message.=" Objet: ".$_POST['Sujet']."\n";
  14.  
  15. $message.="Information complementaire: ".$_POST['Informations']."\n";
  16.  
  17. $Ref=$_POST['Ref'];
  18. $Quantite=$_POST['Quantite'];
  19. $Nom=$_POST['Nom'];
  20. for($i=0;sizeof($Ref)>$i;$i++){
  21. if($Ref[$i]!="" && $Quantite[$i]!="" && $Nom[$i]!="") $message .=" Ref :".$Ref[$i]." quantite ".$Quantite[$i]." Nom ".$Nom[$i]."\n";
  22. }
  23.  
  24. }
  25. mail($to, $subject, $message, $from);
  26.  
  27. Header("Location: l");
  28.  
  29. ?>






voilà, mon problème actuel étant que je n'arrive pas à mettre plusieurs lignes pour la commande, lorsque je les dupplique, quand j'entre la référence dans la deuxième ligne, la désignation apparait dans la première.

il faudrait donc réussir à recréer cette première ligne, mais de manière autonome, et lorsque je reçois le mail de commande, je reçois ceci


Societe: entreprise
Email: email
Objet: commande :) 
Information complementaire: hello
Ref :9 quantite 3 Nom p

enfait, je ne reçois qu'un caractère concernant la ligne de produits !

auriez-vous une idée ?

merci d'avance

Autres pages sur : utilisation base sql formulaire mail

5 Septembre 2008 12:14:37

voilà où j'en suis,

j'ai pu créer un bouton qui créé une ligne automatiquement, mais ma désignation n'est toujours pas autonome
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS