Se connecter / S'enregistrer
Votre question

Formulaire avec champs obligatoires

Tags :
  • Programmation
Dernière réponse : dans Programmation
18 Mars 2008 22:14:27

Salut,

J'ai un formulaire sur un site. J'arrivais bien à recevoir les informations mais sans contraindre les personnes à remplir des champs obligatoires.

J'ai trouver un formulaire qui me semble pas mal ici http://aspirine.org/contact/ et normalement simple à mettre en oeuvre et qui me permet de remplir obligatoirement certains champs importants.

Mais voilà j'ai dû omettre certains paramétrages car lorsque l'utilisateur envoie le formulaire on tombe sur une page blanche.

Mon formulaire est visible ici : http://www.festltpa.com/inscription_merise180408bis.php

Or en local lorsque le formulaire est bien rempli j'ai ce message d'erreur :"Problème technique lors de l'envoi du mail. Pourtant il n'y avait pas de souci dans le formulaire."

Et puis "Notice: Undefined index: ville in c:\program files\easyphp1-8\www\ltpa\contact.php on line 233"
Et ceux pour toutes les données renseignées par l'utilisateur. Ici c'est ville

Ainsi que : "Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\easyphp1-8\www\ltpa\contact.php on line 379"

J'ai bien mis sur mon serveur les fichiers :
- contact.php (que je n'ai pas modifié)
- contactmerci.php (script non changé juste intégré dans le corp d'une page équivalente au reste du site)
- contacterreur.html (pareillement)
- contact.config.php (fichier de configuration à modifier, je vous mets le code ci-dessous)








  1. <? /*************************************************************************
  2. * contact.config.php
  3. * Fichier de configuration de config.php
  4. * Copyright (c) François Pirsch 2007
  5. * http://aspirine.org/contact/
  6. * Distribué sous licence BSD.
  7. *
  8. * Envoi par mail des données d'un formulaire de contact.
  9. * Le formulaire lui-même doit être dans une page html séparée,
  10. * il doit être envoyé vers ce script php avec la méthode POST.
  11. *
  12. * Il doit contenir un champ nommés "email" ou "mail"
  13. * et un champ nommé "sujet" ou "subject".
  14. *************************************************************************/
  15.  
  16. /**************************************************************************
  17. configuration de base
  18. **************************************************************************/
  19.  
  20. /* Adresse email du destinataire du formulaire. On peut donner plusieurs
  21. * adresses séparées par des virgules.
  22. * Exemples :
  23. * $to = ''; <-- vide, si vous utilisez l'option "destinataires au choix"
  24. * $to = 'nom.prenom@fournisseur.fr';
  25. * $to = 'dest1@fournisseur.fr, dest2@fournisseur.fr';
  26. */
  27. $to = 'mail@fai.net';
  28.  
  29. /* Liste des champs obligatoires.
  30. * Mettre entre guillemets les noms des éléments de formulaires, séparés par des virgules.
  31. * Respecter les majuscules/minuscules !
  32. * Exemples :
  33. * $champs_obligatoires = array("email", "sujet", "nom", "prenom", "adresse");
  34. * $champs_obligatoires = array(); <-- aucun champ obligatoire
  35. */
  36. $champs_obligatoires = array("email", "nom", "prenom", "email_confirmation", "conditions");
  37.  
  38.  
  39.  
  40.  
  41. /**************************************************************************
  42. configuration avancée - options
  43. **************************************************************************/
  44. // Si vous voulez recevoir une notification quand une nouvelle version est
  45. // disponible, mettez cette variable à 1, sinon à 0.
  46. // La vérification se fait à chaque fois qu'un de vos visiteurs utilise votre
  47. // formulaire. La notification est éventuellement jointe au mail qui vous est
  48. // envoyé.
  49. $verifier_mises_a_jour = 0;
  50.  
  51. // Si vous voulez récupérer plus facilement les données dans un tableur
  52. // par copier-coller, mettez à 1 cette variable :
  53. $formater_pour_tableur = 0;
  54.  
  55. // Par défaut les champs non obligatoires vides ne sont pas envoyés dans le mail.
  56. // Mettez 1 si vous tenez à les recevoir quand-même (sous forme "nom=" suivi de rien).
  57. $envoyer_aussi_les_champs_vides = 1;
  58.  
  59. // Vers quelle page html sera redirigé le visiteur après l'envoi du formulaire ?
  60. $page_ok = 'contactmerci.php';
  61.  
  62. // Quelle page html afficher en cas d'erreur ?
  63. $page_erreur = 'contacterreur.html';
  64.  
  65. // Mettre éventuellement ici une adresse d'expéditeur si elle n'est pas
  66. // précisée dans le formulaire.
  67. // Sans expéditeur, le mail risque d'être rejeté par les passerelles anti-spam
  68. // et ne jamais arriver à destination.
  69. $from = 'formulaire@mondomaine.com';
  70.  
  71. // Mettre éventuellement ici un sujet de mail s'il n'est pas précisé dans
  72. // le formulaire.
  73. $sujet = "Inscription concert à la Merise du 18/04/08.";
  74.  
  75.  
  76. // Option : mettre ici les noms des variables HTTP à envoyer avec le mail,
  77. // entre guillemets et séparés par des virgules.
  78. // Noms possibles : voir les variables de serveur sur
  79. // http://www.php.net/manual/fr/reserved.variables.php
  80. // Exemple : $variables_http = array('REMOTE_ADDR', 'HTTP_USER_AGENT');
  81. $variables_http = array();
  82.  
  83. // Option : enregistrement dans une base de données.
  84. // Indiquer le login et le mot de passe de la base de données.
  85. // Indiquer aussi le nom des champs et des variables HTTP à enregistrer
  86. // dans la table (Ne pas utiliser le nom de champ "n").
  87. $db_server = 'localhost';
  88. $db_login = '';
  89. $db_password = '';
  90. $db_champs_a_enregistrer = array("email", "sujet");
  91. $db_nom_de_la_table = 'contact_php';
  92.  
  93. // Option : si l'utilisateur peut sélectionner un destinataire particulier
  94. // dans une liste déroulante, mettre ici la correspondance entre le nom affiché
  95. // dans le formulaire et l'adresse email de chaque destinataire.
  96. // Exemples :
  97. // $destinataires_au_choix = array("direction" => "chef@nomdedomaine.fr",
  98. // "webmaster" => "web@nomdedomaine.fr",
  99. // "service après-vente" => "sav@nomdedomaine.fr");
  100. // $destinataires_au_choix = array(); <-- option désactivée
  101. // Les noms doivent correspondre exactement à ceux qui sont affichés dans la liste
  102. // déroulante (les balises <option> de l'élément <select>).
  103. // La liste déroulante doit s'appeler "to".
  104. // Si vous utilisez cette option, il vaut mieux laisser la variable $to vide (voir
  105. // au tout début de ce fichier).
  106. $destinataires_au_choix = array();
  107.  
  108. // Option anti-spam : utiliser reCaptcha ( http://recaptcha.net/ )
  109. // Inscrivez votre site sur recaptcha.net, intégrez le code donné avec la clé publique
  110. // dans votre formulaire, et indiquez la clé privée ici pour que contact.php
  111. // puisse faire la vérification.
  112. $recaptcha_privatekey = "";
  113.  
  114. // Option : Chiffrement (cryptage) du mail
  115. // Pour que le mail vous parvienne crypté, il suffit de donner une clé de
  116. // chiffrement sous forme d'un petit texte d'exactement 16 caractères.
  117. //
  118. // On peut la donner directement :
  119. // $cle_chiffrement = "Ceci est ma clé!";
  120. // Ou on peut la stocker séparément dans un fichier texte et donner le chemin :
  121. // $cle_chiffrement = '/home/moncompte/cle.txt'; // (débute par un slash)
  122. // $cle_chiffrement = './cle.txt'; // (débute par un point)
  123. // Elle doit être constituée d'exactement 16 caractères du jeu Latin-1.
  124. $cle_chiffrement = '';
  125.  
  126. ?>


J'ai pas paramétrer pour les options je souhaite seulement recevoir les infos avec les champs obligatoires. Si quelqu'un a une idée d'où viennent mes messages d'erreur en local et pourquoi j'ai rien via le serveur, seulement une page blanche, ça m'aiderait bien.

Merci

Autres pages sur : formulaire champs obligatoires

a c 232 L Programmation
19 Mars 2008 11:34:35

Salut,

Citation :
Notice: Undefined index: ville in c:\program files\easyphp1-8\www\ltpa\contact.php on line 233

A mon avis, vu les erreurs que tu as dans le fichier contact.php c'est que tu passes mal les valeurs.

Citation :
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\easyphp1-8\www\ltpa\contact.php on line 379

Tu n'as pas de serveur SMTP pour pouvoir envoyer des mails

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