Votre question

Formulaire mail - PHP

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
30 Novembre 2008 00:37:20

Bonjour,

J'aimerai un formulaire pour envoyer des mails depuis mon site web vers mon adresse mail. Je ne connais aucune base en php, je n'y ai jamais touché (je ne connais que xhtml et css) et j'ai cherché sur internet s'il n'y avait pas des "modèles tout fait".

De ceux que j'ai essayé, soit les accents s'affichent mal dans le mail, soit j'ai une sorte d'email sans expéditeur ni nom où les infos sont dans le mail.

J'aimerai si possible un formulaire php qui permette de mettre son pseudo, son adresse mail (qui sera l'expéditrice du mail), l'objet du mail (qui sera objet dans la boite de réception) et le message. Enfin il faudrait une redirection vers la page merci.php (que j'ai déjà faite ;)  ).

Merci beaucoup de votre aide !

Autres pages sur : formulaire mail php

1 Décembre 2008 03:51:53

Recherche sur google la fonction mail();
1 Décembre 2008 10:18:56

Poste ce que tu as déjà fais, je vais jeter un coup d'oeil et faire ce que tu demandes.
Contenus similaires
1 Décembre 2008 16:23:43

J'ai trouvé un script qui fonctionne à merveille ici :

http://www.php-astux.info/script-formulaire-contact.php

J'aimerai simplement savoir pour que, après que la page traitement_formulaire.php, le visiteur soit dirigé vers une page Merci.html

Voici le code html de la page mecontacter.html :

Citation :
<form id="contact" method="post" action="traitement_formulaire.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom : </label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="email">Email : </label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>

<fieldset><legend>Votre message</legend>
<p><label for="objet">Objet : </label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message : </label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
</fieldset>
<br/>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer votre mail !" /></div>
</form>


Voici le code php de la page traitement_formulaire.php :

Citation :
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monadresse@orange.fr';

// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre message m'a bien été parvenu, je vous répondrai dans les plus brefs délais ! <a href=\"index.html\">Cliquez ici</a> pour revenir à l'accueil du site !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"mecontact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* 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;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

// 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é

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 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;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// 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.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

Merci beaucoup de l'aide ^^
1 Décembre 2008 20:23:11

Salut j'ai vu que tu été client orange si ton site est héberger chez eux il te propose un formulaire gratuit, tu peux mettre les champs que tu veux avec obligation de les remplir ou pas !
et bien évidement tu reçoit les réponse sur ta boite mail orange !

Ps: Ton adresse mail apparait sur ton message précédent je sais pas si c'est volontaire ou alors ré-édite ton message .
(la ou j'ai mis les étoiles)

Citation :

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '*******************************';

// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
2 Décembre 2008 06:34:30

J'ai édité (ça me dérange pas tellement mais pour bien faire j'ai changé).

Sinon, mon site n'est pas sur Orange mais sur Olympe-Network à vrai dire ^^''
2 Décembre 2008 11:15:46

c'est cool de dire que orange met un formulaire a la dispo des clients mais a l'arrivée ces enc...nous font payer le formulaire pour un an c'est 21€ trooooop classe
c'est sur je peux prendre la version allégée mais y'a 5 champs enfin bref..

un autre truc sje suis en train de mettre en place mon formulaire via lesiteduzero
et je voulais savoir si pour faire un form et qu'il me soit envoyé par mail est ce que je dois inserer les resultats dans ma bdd et après les retransmettre vesr ma boite mail ou est ce que je les transmet direct vers ma boite mail?

et 2° a-t-on besoin de js pour faire un form comme ca vu que tous les formulaires ont un js dedans parec que si je dois me taper encore un tuto sur le js c'est efferalgan 3g par jour la ..
merci de repondre..
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