Se connecter / S'enregistrer
Votre question

[Comment Faire ?] Créer un formulaire de contact simple !

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
Anonyme
25 Octobre 2008 16:38:44

Salut à tous,

Donc après avoir vu des centaines de milliers de postes sur divers forums qui s'appelaient "Comment creer un formulaire ?", je me suis dit, je vais leurs apprendre à en creer un par la plus simple des manières !

Donc déjà, ne prenaient pas la grosse tête quand je vous dis PHP ! :pt1cable:  Parceque quand je dis ça, vous pensez à Mysql ! Mais la ça sera du PHP sans le Mysql !


Donc on va commencé parceque sinon on va y passer la journée et même la nuit !
:ange: 

Alors en premier, prenaient votre page Web, là ou vous voulez mettre le formulaire de contact !

Ensuite, on va faire un truc tout bête, coller un code HTML dans la page Web !

Vous allez coller ce code :


  1. <div align=center>
  2. <form method=POST action=formmail.php >
  3. <input type=hidden name=subject value=formmail>
  4. <table>
  5. <tr><td>Votre Nom:</td>
  6. <td><input type=text name=realname size=30></td></tr>
  7. <tr><td>Votre Email:</td>
  8. <td><input type=text name=email size=30></td></tr>
  9. <tr><td>Sujet:</td>
  10. <td><input type=text name=title size=30></td></tr>
  11. <tr><td colspan=2>Commentaires:<br>
  12. <textarea COLS=50 ROWS=6 name=comments></textarea>
  13. </td></tr>
  14. </table>
  15. <br> <input type=submit value=Envoyer> -
  16. <input type=reset value=Annuler>
  17. </form>
  18. </div>


Voilà,

Maintenant, on passe au PHP, alalalala, qu'es qu'il nous prépare ? :??: 

Rien de compliqué je vous assure

Vous allez créer une page Web appelé "formmail.php" ! Pas autre chose Ok ? Promis ? Bon Ok :p 

Alors dans cette page Web, vous allez coller ce code PHP ! Juste à coller, rien de méchant

Le code :


  1. <?php
  2. $TO = "votre adresse email";
  3.  
  4. $h = "From: " . $TO;
  5.  
  6. $message = "";
  7.  
  8. while (list($key, $val) = each($HTTP_POST_VARS)) {
  9. $message .= "$key : $val\n";
  10. }
  11.  
  12. mail($TO, $subject, $message, $h);
  13.  
  14. Header("Location: http://(l'url vers laquel est redirigé l'expediteur)");
  15.  
  16. ?>


C'est pas dur, hein, pas besoin d'être super collé !

Donc dans le code Php, ce qu'il y a à remplacer :

$TO = "votre adresse email";

Remplacez "votre adresse email" par celle vers laquel vous voulez que ça envoie (ex : webmaster@monsite.com)

Header("Location: http://(l'url vers laquel est redirigé l'expediteur)";

Remplacez "(l'url vers laquel est redirigé l'expediteur)" part la page ou vous voulez que votre expediteur soit renvoyé !


Voilà, c'est à peu près bon !

Ah non, la page "formmail.php" doit etre mis dans le meme dossier que la page ou est placé le formulaire !

Sinon, je vais vous faire un petit schéma de comment ça marche :


Page Formulaire ------>(la page est envoyé sur la page php !)------>Page PHP------>(La page PHP envoie le message vers l'adresse e-mail dit, et redirige vers la page donné)------>Envoie du mail------>L'expéditeur et redirigé !

Voilà Voilà, tout fini C'était pas dur ! Si ? allez n'éxagerez pas ! A part au niveau du html, il ne faut pas avoir fait de cours de programmation pour ça !

Bon, enfin bref, bonne continuation

Autres pages sur : creer formulaire contact simple

a c 232 L Programmation
26 Octobre 2008 16:30:23

Euh... et ton formulaire est utilisé pour spammer, car aucune vérification des données passées... ça c'est du tuto quoi ! :/ 
Anonyme
27 Octobre 2008 18:02:04

J'ai mis un Formulaire simple pas un formulaire avec des protections à gogo
Contenus similaires
27 Octobre 2008 20:22:57

oui c'est pas mal!! et pour les débutants qui passent par là et qui veulent éviter les spams quelques solutions simples: mettez des conditions et allez vous promenez vers les codes de système Capchka moi j'utilise celui la: Cryptographp v1.4 mais apparement leur site est devenu de la pub pour des casinos en ligne (piratage ou voulu je ne peut pas vous le dire)
27 Octobre 2008 22:28:58

si tu arrive à m'expliquer pourquoi tu as ceci dans ton code, je te tire mon chapeau :

# while (list($key, $val) = each($HTTP_POST_VARS)) {
# $message .= "$key : $val\n";
# }

sachant qu'a 100% je suis sur, tu as copier/coller d'un code existant...
je dirais meme que tu as repris/décortiquer ce formulaire sur un autre site en recollant les morceaux?!

bon, pour un formulaire simple, et pour les débutant :

phpdebutant.org
a c 232 L Programmation
28 Octobre 2008 03:16:34

Anonyme a dit :
J'ai mis un Formulaire simple pas un formulaire avec des protections à gogo

c'est bien sympa d'avoir un formulaire simple, mais si y'a pas un minimum de protection, c'est d'la merde !
Anonyme
28 Octobre 2008 16:13:40

okinou a dit :
si tu arrive à m'expliquer pourquoi tu as ceci dans ton code, je te tire mon chapeau :

# while (list($key, $val) = each($HTTP_POST_VARS)) {
# $message .= "$key : $val\n";
# }

sachant qu'a 100% je suis sur, tu as copier/coller d'un code existant...
je dirais meme que tu as repris/décortiquer ce formulaire sur un autre site en recollant les morceaux?!

bon, pour un formulaire simple, et pour les débutant :

phpdebutant.org


En créant mon script, j'ai rencontré quelque bug, et je me suis aidé un petit peu d'un autre site !

OmaR a dit :
c'est bien sympa d'avoir un formulaire simple, mais si y'a pas un minimum de protection, c'est d'la merde !


Généralement, les gens on une protections anti spams, alors arreté avec sa ! On est pu au début des méssagerie a ce que je sache, elles ont toutes des protections qui filtre ! Après si c'est pour autre chose qu'un simple myen de contact, faut allez sur un formulaire beaucoup plus dévelopé, et protégé, mais moi c'est juste pour un contact, alors arreté avec vos arguments soit disant professionnel qui ne ressemble à rien, pour casser mon scrit ! ;) 
a c 232 L Programmation
28 Octobre 2008 18:08:58

C'est pas question d'avoir une protection anti-spam ou pas.
C'est question d'envoyer des mails indésirables à partir de ton script parce que tu ne vérifies pas les données qu'il y a dans le "To:"

Et c'est pas pour casser ton script, c'est juste pour prévenir qu'il y aura des vérifications à ajouter pour pouvoir l'utiliser en production;
Anonyme
28 Octobre 2008 18:32:58

Précisé svp, parceque spam peux porté a confusion ;) 
a c 232 L Programmation
29 Octobre 2008 00:25:03

Tout simplement en passant le caractère saut de ligne dans le To: pour ajouter par exemple Bcc:monmail@abc.com qui fait que le mail est envoyé à l'adresse que tu as spécifié, mais est aussi envoyé en copie conforme invisible (BCC), à l'adresse spécifiée.

Exemple :
http://www.phpbuilder.com/columns/ian_gilfillan20060412...
29 Juin 2009 09:44:04

moi j'ai un autre souci: je fais tout comme c'est indiqué et quand je teste, je clique sur envoyer ça me demande si je veux enregistrer ou ouvrir avec wordpad :??:  :??:  où est l'erreur??
4 Août 2009 12:19:40

Esti78 a dit :
moi j'ai un autre souci: je fais tout comme c'est indiqué et quand je teste, je clique sur envoyer ça me demande si je veux enregistrer ou ouvrir avec wordpad :??:  :??:  où est l'erreur??


J'imagine que tu le testes en local non?
4 Août 2009 12:22:39

oui pourquoi
4 Août 2009 12:23:05

Anonyme a dit :
Salut à tous,

Donc après avoir vu des centaines de milliers de postes sur divers forums qui s'appelaient "Comment creer un formulaire ?", je me suis dit, je vais leurs apprendre à en creer un par la plus simple des manières !

Donc déjà, ne prenaient pas la grosse tête quand je vous dis PHP ! :pt1cable:  Parceque quand je dis ça, vous pensez à Mysql ! Mais la ça sera du PHP sans le Mysql !


Donc on va commencé parceque sinon on va y passer la journée et même la nuit !
:ange: 

Alors en premier, prenaient votre page Web, là ou vous voulez mettre le formulaire de contact !

Ensuite, on va faire un truc tout bête, coller un code HTML dans la page Web !

Vous allez coller ce code :


  1. <div align=center>
  2. <form method=POST action=formmail.php >
  3. <input type=hidden name=subject value=formmail>
  4. <table>
  5. <tr><td>Votre Nom:</td>
  6. <td><input type=text name=realname size=30></td></tr>
  7. <tr><td>Votre Email:</td>
  8. <td><input type=text name=email size=30></td></tr>
  9. <tr><td>Sujet:</td>
  10. <td><input type=text name=title size=30></td></tr>
  11. <tr><td colspan=2>Commentaires:<br>
  12. <textarea COLS=50 ROWS=6 name=comments></textarea>
  13. </td></tr>
  14. </table>
  15. <br> <input type=submit value=Envoyer> -
  16. <input type=reset value=Annuler>
  17. </form>
  18. </div>


Voilà,

Maintenant, on passe au PHP, alalalala, qu'es qu'il nous prépare ? :??: 

Rien de compliqué je vous assure

Vous allez créer une page Web appelé "formmail.php" ! Pas autre chose Ok ? Promis ? Bon Ok :p 

Alors dans cette page Web, vous allez coller ce code PHP ! Juste à coller, rien de méchant

Le code :


  1. <?php
  2. $TO = "votre adresse email";
  3.  
  4. $h = "From: " . $TO;
  5.  
  6. $message = "";
  7.  
  8. while (list($key, $val) = each($HTTP_POST_VARS)) {
  9. $message .= "$key : $val\n";
  10. }
  11.  
  12. mail($TO, $subject, $message, $h);
  13.  
  14. Header("Location: http://(l'url vers laquel est redirigé l'expediteur)");
  15.  
  16. ?>


C'est pas dur, hein, pas besoin d'être super collé !

Donc dans le code Php, ce qu'il y a à remplacer :

$TO = "votre adresse email";

Remplacez "votre adresse email" par celle vers laquel vous voulez que ça envoie (ex : webmaster@monsite.com)

Header("Location: http://(l'url vers laquel est redirigé l'expediteur)";

Remplacez "(l'url vers laquel est redirigé l'expediteur)" part la page ou vous voulez que votre expediteur soit renvoyé !


Voilà, c'est à peu près bon !

Ah non, la page "formmail.php" doit etre mis dans le meme dossier que la page ou est placé le formulaire !

Sinon, je vais vous faire un petit schéma de comment ça marche :


Page Formulaire ------>(la page est envoyé sur la page php !)------>Page PHP------>(La page PHP envoie le message vers l'adresse e-mail dit, et redirige vers la page donné)------>Envoie du mail------>L'expéditeur et redirigé !

Voilà Voilà, tout fini C'était pas dur ! Si ? allez n'éxagerez pas ! A part au niveau du html, il ne faut pas avoir fait de cours de programmation pour ça !

Bon, enfin bref, bonne continuation


Bonjour, j'ai tout fait comme le monsieur a dit, j'ai testé j'ai bien ma page que j'ai fait pour l'ar après avoir cliquer sur envoyer mais par contre je ne recois pas le formulaire complété dans ma messagerie comme prévu
4 Août 2009 12:43:42

je constate que lorsque je met mon adresse professionnelle le formulaire n'arrive pas, hors quand je met une adresse perso, il arrive normalement. Ca m'embête car les réponses à ce formulaires vont devoir arriver sur une adresse de ma boïte....
Anonyme
25 Octobre 2009 00:52:12

La c'est le réglage de votre boite mail, regardé si il ne considère pas le formulaire comme un spam ;) 
Anonyme
12 Janvier 2010 14:25:39

Slt,

C'est cool, merci, je vais essayer....

je te dirai si ta recette pour les nuls fonctionne ;) 

a+
20 Janvier 2010 02:09:29

salut, je te donne un script complet

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mon mail@fornisseur acces.com';

// copie ? (envoie une copie au visiteur)
$copie = 'oui';

// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$phone = (isset($_POST['phone'])) ? Rec($_POST['phone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

if (isset($_POST['envoi']))
{
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;

if (($nom != '') && ($prenom != '') && ($cp != '') && ($ville != '') && ($phone != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.'.'.$prenom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message)."\n\n";
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message .= "nom : $nom\n";
$message .= "prenom : $prenom\n";
$message .= "cp : $cp\n";
$message .= "ville : $ville\n";
$message .= "telephone : $phone\n";
$message .= "email : $email\n";
$message .= "objet : $objet\n";


// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";

echo ' <dl>'."\n";

echo ' <dt>'."\n";
echo ' <label>Nom :</label>'."\n";
echo ' </dt>'."\n";

echo ' <dd>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Entreprise :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Code Postal :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="cp" name="cp" value="'.stripslashes($cp).'" tabindex="3" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Ville :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="ville" name="ville" value="'.stripslashes($ville).'" tabindex="4" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Numéro de téléphone :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="phone" name="phone" value="'.stripslashes($phone).'" tabindex="5" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Email :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="6" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Objet :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="7" />'."\n";
echo ' </dd>'."\n";

echo ' <dt>'."\n";
echo ' <label>Message :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <textarea id="message" name="message" tabindex="8" rows="210" cols="30">'.stripslashes($message).'</textarea>'."\n";
echo ' </dd>'."\n";

echo ' </dl>'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>
16 Janvier 2011 11:20:54

Bonjour,

Presque tout fonctionne correctement pour moi ... sauf l'affichage de la page de redirection après l'envoi du message ... Le lien final reste celui de votre fichier php ... J'ai loupé quelque chose ?

Merci
31 Mars 2011 18:02:06

Bonjour,
J'ai exactement le même soucis que toi darthSmall !!!
(Le lien final reste celui de votre fichier php)
A tu résolu le problème ?
Quelqu'un pourrais me dire de quoi cela peut venir ?
Merci beaucoup
2 Avril 2011 19:14:16

Bonjour !

Je déterre ce sujet parce que j'ai piqué son super formulaire à guillaume2vo et j'ai tenté de l'adapter à mon cas (un bon de commande), c'est à dire avec d'autres champs et en affichant le formulaire non pas dans le fichier php mais dans un fichier html séparé.

Je ne connais pas PHP et j'ai surement enlevé des choses qui doivent être utiles, car lorsque je clique sur envoyer, j'ai une erreur de syntaxe et je ne reçois pas de mail. Je sais qu'il manque des accolades de fermeture, mais je ne sais pas ou les mettre !

J'utilisais avant un autre script d'envoi de mail, qui lui marche, mais qui est bcp trop basique : aucun contrôle du contenu et l'objet de l'email est vide, interdisant un traitement automatique des commandes.

ci dessous le formulaire de ma page HTML :


  1. <form action="precommande.php" method="post" name="form1" target="_blank" id="form1">
  2. <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Style1">
  3.  
  4. <tr>
  5. <td valign="top"><p>Nom / Société <span class="Style8">* </span>:<br />
  6. <input name="nom" type="text" id="nom" size="30" />
  7. </p>
  8. <p>Prénom :<br />
  9. <input name="prenom" type="text" id="prenom" size="30" />
  10. </p>
  11. <p>Téléphone :<br />
  12. <input name="phone" type="text" id="phone" size="30" />
  13. <br />
  14. </p>
  15. <p>Email <span class="Style8">*</span> :<br />
  16. <input name="email" type="text" id="email" size="30" />
  17. </p> </td>
  18. <td valign="top"><p>Adresse : <br />
  19. <input name="adresse" type="text" id="adresse" value="" size="30" />
  20. </p>
  21. <p>Code Postal <span class="Style8">*</span> :<br />
  22. <input name="cp" type="text" id="cp" size="10" />
  23. </p>
  24. <p>Ville <span class="Style8">*</span> :<br />
  25. <input name="ville" type="text" id="ville" size="30" />
  26. <br />
  27. </p></td>
  28. </tr>
  29. <tr>
  30. <td colspan="2" valign="top"><table width="100%" border="1" cellpadding="5" cellspacing="0" class="Style1">
  31. <tr>
  32. <th scope="col"><div align="left">ARTICLE</div></th>
  33. <th scope="col">CL</th>
  34. <th scope="col">Prix Euros TTC</th>
  35. <th scope="col">Quantité</th>
  36. </tr>
  37. <tr>
  38. <th scope="row"><div align="left">Brut</div></th>
  39. <td>75</td>
  40. <td>11,50</td>
  41. <td><input name="brut" type="text" id="brut" size="5" /></td>
  42. </tr>
  43. <tr>
  44. <th scope="row"><div align="left">Demi-sec</div></th>
  45. <td>75</td>
  46. <td>11,50</td>
  47. <td><input name="demisec" type="text" id="demisec" size="5" /></td>
  48. </tr>
  49. <tr>
  50. <th scope="row"><div align="left">Brut Rosé</div></th>
  51. <td>75</td>
  52. <td>13</td>
  53. <td><input name="brutrose" type="text" id="brutrose" size="5" /></td>
  54. </tr>
  55. <tr>
  56. <th scope="row"><div align="left">Chardonnay</div></th>
  57. <td>75</td>
  58. <td>13,50</td>
  59. <td><input name="chardonnay" type="text" id="chardonnay" size="5" /></td>
  60. </tr>
  61. <tr>
  62. <th scope="row"><div align="left">Millésime</div></th>
  63. <td>75</td>
  64. <td>14,50</td>
  65. <td><input name="millesime" type="text" id="millesime" size="5" /></td>
  66. </tr>
  67. <tr>
  68. <th scope="row"><div align="left">Prestige</div></th>
  69. <td>75</td>
  70. <td>15,50</td>
  71. <td><input name="prestige" type="text" id="prestige" size="5" /></td>
  72. </tr>
  73. <tr>
  74. <th scope="row"><div align="left">Brut 1/2 bouteille</div></th>
  75. <td>37,5</td>
  76. <td>7,25</td>
  77. <td><input name="demibouteille" type="text" id="demibouteille" size="5" /></td>
  78. </tr>
  79. <tr>
  80. <th scope="row"><div align="left">Brut Rosé 1/2 bouteille</div></th>
  81. <td>37,5</td>
  82. <td>8,25</td>
  83. <td><input name="rosedemibouteille" type="text" id="rosedemibouteille" size="5" /></td>
  84. </tr>
  85. <tr>
  86. <th scope="row"><div align="left">Brut Magnum</div></th>
  87. <td>150</td>
  88. <td>28,50</td>
  89. <td><input name="magnum" type="text" id="magnum" size="5" /></td>
  90. </tr>
  91. <tr>
  92. <th scope="row"><div align="left">Brut Jéroboam</div></th>
  93. <td>300</td>
  94. <td>82</td>
  95. <td><input name="jeroboam" type="text" id="jeroboam" size="5" /></td>
  96. </tr>
  97. <tr>
  98. <th scope="row"><div align="left">Brut Mathusalem</div></th>
  99. <td>600</td>
  100. <td>205</td>
  101. <td><input name="mathusalem" type="text" id="mathusalem" size="5" /></td>
  102. </tr>
  103. <tr>
  104. <th scope="row"><div align="left">Panier Garni</div></th>
  105. <td> </td>
  106. <td>37</td>
  107. <td><input name="paniergarni" type="text" id="paniergarni" size="5" /></td>
  108. </tr>
  109. <tr>
  110. <th scope="row"><div align="left">Seau</div></th>
  111. <td> </td>
  112. <td>12</td>
  113. <td><input name="seau" type="text" id="seau" size="5" /></td>
  114. </tr>
  115. <tr>
  116. <th scope="row"><div align="left">Bouchon</div></th>
  117. <td> </td>
  118. <td>2</td>
  119. <td><input name="bouchon" type="text" id="bouchon" size="5" /></td>
  120. </tr>
  121. <tr>
  122. <th scope="row"><div align="left">Flûtes (les 6)</div></th>
  123. <td> </td>
  124. <td>10</td>
  125. <td><input name="flutes" type="text" id="flutes" size="5" /></td>
  126. </tr>
  127. <tr>
  128. <th scope="row"><div align="left">Gelée de Vin de Champagne</div></th>
  129. <td> </td>
  130. <td>6</td>
  131. <td><input name="gelee" type="text" id="gelee" size="5" /></td>
  132. </tr>
  133. </table></td>
  134. </tr>
  135. <tr>
  136. <td colspan="2" valign="top"><p><br />
  137. Les champs avec une astérisque sont obligatoires.
  138. <br />
  139. Une copie du formulaire va vous être envoyé.</p>
  140. <p>
  141. <input name="envoyer" type="image" value="submit" src="images/envoyer.jpg" align="middle" border="0" />
  142. </p></td>
  143. </tr>
  144. </table>
  145. </form>


Et mon fichier PHP :

  1. <?php
  2. /*
  3. ********************************************************************************************
  4. CONFIGURATION
  5. ********************************************************************************************
  6. */
  7. // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
  8. $destinataire = 'monmail@mondomaine.com';
  9.  
  10. // copie ? (envoie une copie au visiteur)
  11. $copie = 'oui';
  12.  
  13. // Action du formulaire (si votre page a des paramètres dans l'URL)
  14. // si cette page est index.php?page=contact alors mettez index.php?page=contact
  15. // sinon, laissez vide
  16. $form_action = '';
  17.  
  18. // Message d'erreur du formulaire
  19. $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
  20.  
  21. /*
  22. ********************************************************************************************
  23. FIN DE LA CONFIGURATION
  24. ********************************************************************************************
  25. */
  26.  
  27. /*
  28. * cette fonction sert à nettoyer et enregistrer un texte
  29. */
  30. function Rec($text)
  31. {
  32. $text = trim($text); // delete white spaces after & before text
  33. if (1 === get_magic_quotes_gpc())
  34. {
  35. $stripslashes = create_function('$txt', 'return stripslashes($txt);');
  36. }
  37. else
  38. {
  39. $stripslashes = create_function('$txt', 'return $txt;');
  40. }
  41.  
  42. // magic quotes ?
  43. $text = $stripslashes($text);
  44. $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
  45. $text = nl2br($text);
  46. return $text;
  47. };
  48.  
  49. /*
  50. * Cette fonction sert à vérifier la syntaxe d'un email
  51. */
  52. function IsEmail($email)
  53. {
  54. $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
  55. return (eregi($pattern,$email)) ? true : false;
  56. };
  57.  
  58. $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
  59.  
  60. // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
  61. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
  62. $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
  63. $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
  64. $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
  65. $phone = (isset($_POST['phone'])) ? Rec($_POST['phone']) : '';
  66. $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
  67. $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
  68. $objet = "Demande de Pré-commande";
  69. $brut = (isset($_POST['brut'])) ? Rec($_POST['brut']) : '';
  70. $demisec = (isset($_POST['demisec'])) ? Rec($_POST['demisec']) : '';
  71. $brutrose = (isset($_POST['brutrose'])) ? Rec($_POST['brutrose']) : '';
  72. $chardonnay = (isset($_POST['chardonnay'])) ? Rec($_POST['chardonnay']) : '';
  73. $millesime = (isset($_POST['millesime'])) ? Rec($_POST['millesime']) : '';
  74. $prestige = (isset($_POST['prestige'])) ? Rec($_POST['prestige']) : '';
  75. $demibouteille = (isset($_POST['demibouteille'])) ? Rec($_POST['demibouteille']) : '';
  76. $rosedemibouteille = (isset($_POST['rosedemibouteille'])) ? Rec($_POST['rosedemibouteille']) : '';
  77. $magnum = (isset($_POST['magnum'])) ? Rec($_POST['magnum']) : '';
  78. $jeroboam = (isset($_POST['jeroboam'])) ? Rec($_POST['jeroboam']) : '';
  79. $mathusalem = (isset($_POST['mathusalem'])) ? Rec($_POST['mathusalem']) : '';
  80. $paniergarni = (isset($_POST['paniergarni'])) ? Rec($_POST['paniergarni']) : '';
  81. $seau = (isset($_POST['seau'])) ? Rec($_POST['seau']) : '';
  82. $bouchon = (isset($_POST['bouchon'])) ? Rec($_POST['bouchon']) : '';
  83. $flutes = (isset($_POST['flutes'])) ? Rec($_POST['flutes']) : '';
  84. $gelee = (isset($_POST['gelee'])) ? Rec($_POST['gelee']) : '';
  85.  
  86. if (isset($_POST['envoi']))
  87. {
  88. // On va vérifier les variables et l'email ...
  89. $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
  90. $err_formulaire = (IsEmail($email)) ? false : true;
  91.  
  92. if (($nom != '') && ($cp != '') && ($ville != '') && ($email != ''))
  93. {
  94. // les 4 variables sont remplies, on génère puis envoie le mail
  95. $headers = 'From: '.$nom.'.'.$prenom.' <'.$email.'>' . "\r\n";
  96.  
  97. // envoyer une copie au visiteur ?
  98. if ($copie == 'oui')
  99. {
  100. $cible = $destinataire.','.$email;
  101. }
  102. else
  103. {
  104. $cible = $destinataire;
  105. }
  106.  
  107. mail($cible, $headers)
  108.  
  109. Header("Location: http://www.monsiteweb.com/msgenvoye.htm");
  110.  
  111. ?>


Pouvez vous me dire ou ca coince ?

De plus je voudrais (tout simplement !) que l'objet du mail reçu soit toujours la même, par exemple "Demande de Pré-commande" et c'est pour ca que j'ai mis :

$objet = "Demande de Pré-commande";

dans la liste de mes champs mais quelque chose me dit que m'y prend mal..

Merci pour votre aide !

Mad.
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