Formulaire ??
arthur73
-
arthur73 -
arthur73 -
Bonjour,
J'ai créé un formulaire sur mon site. Le problème, lorsque je soumet le message ma boîte mail s'ouvre !!
J'aimerai que mon message parte directement chez le destinataire sans avoir à le retaper. Voilà mon script :
<form action="mailto:palbe@orange.fr" method="post">
Nom : <input type="text" name="Nom" size="20" maxlength="256"><br><br>
Prénom : <input type="text" name="prenom" size="20" maxlength="256"><br><br>
Téléphone : <input type="text" name="tel" size="20" maxlength="256"><br><br>
E-Mail : <input type="text" name="mail" size="20" maxlength="256"><br><br>
Votre message :<br><br><textarea name="message" cols="30" rows="10">
</textarea>
<input type="submit" value="envoyer">
</form>
Merci pour votre aide
arthur73
J'ai créé un formulaire sur mon site. Le problème, lorsque je soumet le message ma boîte mail s'ouvre !!
J'aimerai que mon message parte directement chez le destinataire sans avoir à le retaper. Voilà mon script :
<form action="mailto:palbe@orange.fr" method="post">
Nom : <input type="text" name="Nom" size="20" maxlength="256"><br><br>
Prénom : <input type="text" name="prenom" size="20" maxlength="256"><br><br>
Téléphone : <input type="text" name="tel" size="20" maxlength="256"><br><br>
E-Mail : <input type="text" name="mail" size="20" maxlength="256"><br><br>
Votre message :<br><br><textarea name="message" cols="30" rows="10">
</textarea>
<input type="submit" value="envoyer">
</form>
Merci pour votre aide
arthur73
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
Tu dois utiliser un script PHP.
-
-
Oui.
Pour informations, on est obligé de passer par un serveur SMTP pour envoyer des emails.
Avec un script côté client comme le XHTML, il faut donc que le client aie un serveur SMTP → le client mail s'ouvre
Avec un script côté serveur comme le PHP, le serveur est souvent configurer pour utiliser un serveur SMTP mais ça dépends de l'hébergeur.
Renommes ta page en .php et voilà le script<?php if($_POST['submitForm'] == 'true') { $nom = trim($_POST['nom']); $prenom = trim($_POST['prenom']); $tel = trim($_POST['tel']); $mail = trim($_POST['mail']); $message = trim($_POST['message']); if( empty($nom) || empty($prenom) || empty($tel) || empty($mail) || empty($message) ) { echo 'Vous devez remplir tous les champs !'; } else { if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i")) { echo 'Adresse email invalide !'; } else { $to = 'palbe@orange.fr'; $subject = 'Contact depuis le site'; $message = ''; foreach($_POST as $k => $v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: webmaster@example.com'."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?><form action="" method="post"> <p> <label for="nom"Nom : </label> <input type="text" name="nom" id="nom" size="20" maxlength="256" /> </p> <p> <label for="prenom">Prénom : </label> <input type="text" name="prenom" id="prenom" size="20" maxlength="256" /> </p> <p> <label for="tel">Téléphone : </label> <input type="text" name="tel" id="tel" size="20" maxlength="256" /> </p> <p> <label for="mail">E-Mail : </label> <input type="text" name="mail" id="mail" size="20" maxlength="256" /> </p> <p> <label for="message">Votre message :</label><br/> <textarea name="message" id="message" cols="30" rows="10"></textarea> </p> <p> <input type="submit" value="envoyer" /> <input type="hidden" name="submitForm" value="true" /> </p> </form><?php } ?> -
Ta page doit avoir l'extension ".php" et doit être sur un serveur.
Voilà mon script corrigé (la ligne "From") :<?php if($_POST['submitForm'] == 'true') { $nom = trim($_POST['nom']); $prenom = trim($_POST['prenom']); $tel = trim($_POST['tel']); $mail = trim($_POST['mail']); $message = trim($_POST['message']); if( empty($nom) || empty($prenom) || empty($tel) || empty($mail) || empty($message) ) { echo 'Vous devez remplir tous les champs !'; } else { if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i")) { echo 'Adresse email invalide !'; } else { $to = 'palbe@orange.fr'; $subject = 'Contact depuis le site'; $message = ''; foreach($_POST as $k => $v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: '.$mail."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?><form action="" method="post"> <p> <label for="nom"Nom : </label> <input type="text" name="nom" id="nom" size="20" maxlength="256" /> </p> <p> <label for="prenom">Prénom : </label> <input type="text" name="prenom" id="prenom" size="20" maxlength="256" /> </p> <p> <label for="tel">Téléphone : </label> <input type="text" name="tel" id="tel" size="20" maxlength="256" /> </p> <p> <label for="mail">E-Mail : </label> <input type="text" name="mail" id="mail" size="20" maxlength="256" /> </p> <p> <label for="message">Votre message :</label><br/> <textarea name="message" id="message" cols="30" rows="10"></textarea> </p> <p> <input type="submit" value="envoyer" /> <input type="hidden" name="submitForm" value="true" /> </p> </form><?php } ?>-
Bonjour,
J'ai toujours deux lignes de codes qui apparaissent sur ma page de formulaire !!
Les voici :
$v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: '.$mail."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?>
Merci pour ton aide
arthur73
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ce n'est pas possible. Vérifie que ta page aie bien l'extension ".php" au lieu de ".html".
Ensuite, tu dois lancer le script quand il est sur le serveur, pas en l'ouvrant avec un clic droit.