guymauve Posté 15 Août 2005 Posté 15 Août 2005 Bonjour, J'aimerais créer un formulaire avec plusieurs zones de saisie. Par exemple : Nom Prénom adresse ville nbre de voitures nbre d'enfants etc Je cliquerais sur le bouton envoyer et les différentes zones de saisie seraient rassemblées et envoyées par mail à une adresse que j'aurai choisi. J'ai vu quelques scripts dispos sur le net mais trop élaboré à mon goût ... Merci d'avance pour vos avis ... PS: cela peut être du html ou php pour autant que cela soit simple et efficace. Bonne journée à tous et toutes.
buzzistic Posté 15 Août 2005 Posté 15 Août 2005 Pour moi le plus simple et le plus efficace reste Formmail. C'est du Perl/CGI toutefois et il faut donc que tu aies accès aux fonctions cgi/bin de ton hébergement ou que ton hébergeur aie configuré Formmail. Disponible ici (téléchargement,doc)
Dan Posté 15 Août 2005 Posté 15 Août 2005 Attention avec Formmail :!: C'est l'un des scripts les plus recherchés par les spammers qui en exploitent les lacunes dûes aux défauts de configuration.
snwoman49 Posté 15 Août 2005 Posté 15 Août 2005 Autant faire soit meme le script en php,c'est très rapide et très simple,meme s'il faut quand meme bien le sécurisé.
klelugi Posté 15 Août 2005 Posté 15 Août 2005 Salut Guimauve, Je pense que tu peux jetter un oeil du côté de ce tuto en php bien sympa qui te permettra sans doute de parvenir simplement à tes fins : http://www.webmaster-hub.com/publication/article110.html
guymauve Posté 15 Août 2005 Auteur Posté 15 Août 2005 Pour moi le plus simple et le plus efficace reste Formmail. C'est du Perl/CGI toutefois et il faut donc que tu aies accès aux fonctions cgi/bin de ton hébergement ou que ton hébergeur aie configuré Formmail. Disponible ici (téléchargement,doc) <{POST_SNAPBACK}> Merci mais je l'ai déjà testé et effectivement il est bien mais trop poussé pour ce que je veux faire. Attention avec Formmail :!: C'est l'un des scripts les plus recherchés par les spammers qui en exploitent les lacunes dûes aux défauts de configuration. <{POST_SNAPBACK}> Merci pour cette info à laquelle je n'avais pas pensé. Autant faire soit meme le script en php,c'est très rapide et très simple,meme s'il faut quand meme bien le sécurisé. <{POST_SNAPBACK}> Oui mais je n'ai que très peu de temps pour faire le script vu qu'il va servir pour des inscriptions et que les inscriptions devraient être lancées Salut Guimauve, Je pense que tu peux jetter un oeil du côté de ce tuto en php bien sympa qui te permettra sans doute de parvenir simplement à tes fins : http://www.webmaster-hub.com/publication/article110.html <{POST_SNAPBACK}> Super lien mais je cherche le même avec des zones à compléter et pas uniquement une zone texte. Mais en tous cas c'est une bonne base. Si qqn peut m'éclairer sur la manière d'ajouter des champs et/ou des cases à cocher ce serait très gentil. Bonne journée et merci à tous et toutes
guymauve Posté 16 Août 2005 Auteur Posté 16 Août 2005 petite question supplémentaire, si j'utilise le formulaire de jan ci-dessus et que j'ajoute des cases à cocher, liste déroulante etc , le bouton envoyer va-t-il valider ces ajouts ou dois modifier le code de ce bouton ... Merci à vous et bonne journée.
Jan Posté 16 Août 2005 Posté 16 Août 2005 Salut, Le bouton "envoyer" valide l'ensemble du formulaire, y compris les champs que tu pourras y ajouter. Les modifications à faire sont bien sur d'ajouter les champs que tu souhaites, mais aussi leur réaffichage en cas d'erreur lors de la soumission, et les tests de validité du contenu de ces champs après soumission.
guymauve Posté 16 Août 2005 Auteur Posté 16 Août 2005 mmm plus compliqué que ce que je ne pensais mais logique. Je vais donc essayer. Je crierai au secours au cas où. Merci d'avance.
guymauve Posté 16 Août 2005 Auteur Posté 16 Août 2005 Bon j'ai essayé mais les zones ajoutées ne sont pas validées dans le mail envoyé. Voici la page ici Voici le code. Désolé de vous ennuyer avec ça mais les inscriptions devraient déjà être activées Merci d'avance à celui ou ceux qui voudront m'aider. <?php// Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés$email_webmaster = "webmaster_AT_amcsambreville.be";// === traitement des données du formulaire ============================================================if (isset($_POST["envoyer"])){// le formulaire a été soumis $etat = "erreur";// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur// --- mise en forme des champs saisis dans le formulaire lors de sa soumission --- if (isset($_POST["email_expediteur"])) { $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"])); } if (isset($_POST["titre"])) { $_POST["titre"]=trim(stripslashes($_POST["titre"])); } if (isset($_POST["message"])) { $_POST["message"]=trim(stripslashes($_POST["message"])); } // --- test de la validité des champs saisis --- if (empty($_POST["email_expediteur"])) {// il manque l'email de l'expéditeur $erreur="Saisissez votre adresse email..."; } elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){// l'adresse e-mail n'est pas valide $erreur="Votre adresse e-mail n'est pas valide..."; } elseif (empty($_POST["message"])) {// le message est vide $erreur="Saisissez un message..."; } else {// --- tous les champs sont correctement remplis: on pourra envoyer le mail --- $etat="ok"; }}else {// --- le formulaire n'a pas été soumis --- $etat="attente";}// === fin de traitement des données du formulaire =======================================================?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Formulaire de contact</title></head><body><h1>Inscriptions Vitrival 2005 </h1><?phpif ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur if ($etat=="erreur"){//le formulaire a été soumis avec une erreur echo "<p><strong>".$erreur."</strong></p>\n";// afficher le message d'erreur }?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br /> <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php if (!empty($_POST["email_expediteur"])) {// l'adresse email de l'expéditeur a été saisie: la réafficher echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES); } ?>" /> </p> <p><label for="titre"></label> </p> <table width="700" border="0" cellpadding="1"> <tr> <td><div align="center">Pilote 1 </div></td> <td><p align="center">Pilote 2</p> </td> </tr> <tr> <td>Nom: <input type="text" name="textfield" /></td> <td>Nom: <input type="text" name="textfield2" /></td> </tr> <tr> <td>Prénom: <input type="text" name="textfield3" /></td> <td>Prénom: <input type="text" name="textfield4" /></td> </tr> <tr> <td>Rue: <input type="text" name="textfield5" /></td> <td>Rue: <input type="text" name="textfield52" /></td> </tr> <tr> <td>N°: <input type="text" name="textfield53" /></td> <td>N° <input type="text" name="textfield54" /></td> </tr> <tr> <td>Code Postal: <input type="text" name="textfield55" /></td> <td>Code Postal: <input type="text" name="textfield56" /></td> </tr> <tr> <td>Localité: <input type="text" name="textfield57" /></td> <td>Localité: <input type="text" name="textfield58" /></td> </tr> <tr> <td>Date de naiss. : <input type="text" name="textfield59" /></td> <td>Date de naiss.: <input type="text" name="textfield510" /></td> </tr> <tr> <td>Tél. ou GSM: <input type="text" name="textfield511" /></td> <td>Tél ou GSM: <input type="text" name="textfield512" /></td> </tr> <tr> <td>Email : <input type="text" name="textfield5112" /></td> <td> Email : <input type="text" name="textfield5113" /></td> </tr> <tr> <td>Modèle Moto ou Quad : <input type="text" name="textfield5114" /></td> <td>Modèle Moto ou Quad : <input type="text" name="textfield5115" /></td> </tr> <tr> <td>Cylindrée : <input type="text" name="textfield5116" /></td> <td>Cylindrée: <input type="text" name="textfield5117" /></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td>Catégorie : <select name="select"> <option>50 cc</option> <option>65/85 cc</option> <option>Amateurs</option> <option>Confirmés</option> <option>Quad</option> </select></td> <td>Catégorie: <select name="select2"> <option>50 cc</option> <option>65/85 cc</option> <option>Amateurs</option> <option>Confirmés</option> <option>Quad</option> </select></td> </tr> <tr> <td> </td> <td> </td> </tr> </table> <p> <label for="message"></label> </p> <p><input type="submit" name="envoyer" value="Envoyer" /> </p> </form><?php}else {// le formulaire a été soumis sans erreur, on envoie le mail $entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n"; $entete .= "MIME-Version: 1.0"; if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){// mail envoyé echo "Votre message a été envoyé.<br />\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n"; } else {// erreur lors de l'envoi du mail echo "Un problème s'est produit lors de l'envoi du message.\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n"; }}?></body></html>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant