Formulaire avec de multiples champs à envoyer
Sarti
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Salut à tous,
voilà sur le net j'ai dégoté un script PHP pour l'envoi de formulaire via la fonction ()mail de mon hébergeur...
Seulement j'aimerais lui rajouter des champs, qui devront êtres remplis et quand le formulaire sera envoyé j'aurais ces champs + le message qui suit, reçu sur ma boite mail.... vous me suivez ?
Le soucis est quand je fais un test, je reçois que l'objet + le message... et pas ces fameux champs.
Voici le code PHP :
Merci !!
voilà sur le net j'ai dégoté un script PHP pour l'envoi de formulaire via la fonction ()mail de mon hébergeur...
Seulement j'aimerais lui rajouter des champs, qui devront êtres remplis et quand le formulaire sera envoyé j'aurais ces champs + le message qui suit, reçu sur ma boite mail.... vous me suivez ?
Le soucis est quand je fais un test, je reçois que l'objet + le message... et pas ces fameux champs.
Voici le code PHP :
<?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = 'XX.XX@gmail.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 = "<strong>Votre message a bien été envoyé, nous vous y répondrons dans les plus brefs délais, merci !</strong>"; $message_non_envoye = "<strong>L'envoi du mail a échoué, veuillez réessayer SVP.</strong>"; // Message d'erreur du formulaire $message_formulaire_invalide = "<strong>Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.</strong>"; /* ******************************************************************************************** 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']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $pays = (isset($_POST['pays'])) ? Rec($_POST['pays']) : ''; $adulte = (isset($_POST['adulte'])) ? Rec($_POST['adulte']) : ''; $enfant = (isset($_POST['enfant'])) ? Rec($_POST['enfant']) : ''; $animaux = (isset($_POST['animaux'])) ? Rec($_POST['animaux']) : ''; $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 != '') && ($email != '') && ($telephone != '') && ($adresse != '') && ($ville != '') && ($pays != '') && ($adulte != '') && ($enfant != '') && ($animaux != '') && ($objet != '') && ($message != '')) { // les 11 variables sont remplies, on génère puis envoie le mail $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n"; // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // 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.' <a href="contact.php">Retour au formulaire</a></p>'."\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 ' <fieldset><legend>Vos coordonnées</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="nom">Nom et prénom:</label>'."\n"; echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="email">Email :</label>'."\n"; echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n"; echo ' </p>'."\n"; echo ' </fieldset>'."\n"; echo ' <fieldset><legend>Informations</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="telephone">Téléphone :</label>'."\n"; echo ' <input type="text" id="telephone" name="telephone" value="'.stripslashes($telephone).'" tabindex="3" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="adresse">Adresse :</label>'."\n"; echo ' <input type="text" id="adresse" name="adresse" value="'.stripslashes($adresse).'" tabindex="4" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="telephone">Code Postal Ville :</label>'."\n"; echo ' <input type="text" id="ville" name="ville" value="'.stripslashes($ville).'" tabindex="5" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="pays">Pays :</label>'."\n"; echo ' <input type="text" id="pays" name="pays" value="'.stripslashes($pays).'" tabindex="6" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="nom">Nombre dadultes:</label>'."\n"; echo ' <input type="text" id="adulte" name="adulte" value="'.stripslashes($adulte).'" tabindex="7" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="email">Nombre denfants :</label>'."\n"; echo ' <input type="text" id="enfant" name="enfant" value="'.stripslashes($enfant).'" tabindex="8" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="animaux">Animaux (oui/non) :</label>'."\n"; echo ' <input type="text" id="animaux" name="animaux" value="'.stripslashes($animaux).'" tabindex="9" />'."\n"; echo ' </p>'."\n"; echo ' </fieldset>'."\n"; echo ' <fieldset><legend>Votre message :</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="objet">Objet :</label>'."\n"; echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="10" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="message">Message :</label>'."\n"; echo ' <textarea id="message" name="message" tabindex="11" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n"; echo ' </p>'."\n"; echo ' </fieldset>'."\n"; echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n"; echo '</form>'."\n"; }; ?>
Merci !!
A voir également:
- Formulaire avec de multiples champs à envoyer
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Envoyer video leboncoin - Forum Réseaux sociaux
- Word mettre à jour tous les champs ✓ - Forum Word
1 réponse
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$pays = (isset($_POST['pays'])) ? Rec($_POST['pays']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
...
if (mail($cible, $objet, $message, $headers))
il ne me semble pas t'avoir vu modifier la variable message entre temps pour y rajouter le contenu des autres champs ...
tu devrais faire un truc du genre $message = "nom: $nom , mail: $email $message";
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$pays = (isset($_POST['pays'])) ? Rec($_POST['pays']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
...
if (mail($cible, $objet, $message, $headers))
il ne me semble pas t'avoir vu modifier la variable message entre temps pour y rajouter le contenu des autres champs ...
tu devrais faire un truc du genre $message = "nom: $nom , mail: $email $message";