Aller au contenu

Créer un formulaire avec plusieurs zones


guymauve

Sujets conseillés

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.

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 :whistling:

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>
<?php
if ($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>

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...