Formulaire de contact
Jay-Jay
-
Kasimashi -
Kasimashi -
bonjour voila je vien de créer un formaulaire de contact en 2 fichier php mais malheureusement ca n'envoi pas sur mon email voici les code si qqun peut m'aider :
contact.php
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
mail.php
<?php
if($send =="envoi")
{
if($Name =="")
{
// On verifie le nom
echo("Le champ Nom est vide !");
}
else
{
if($Message =="")
{
// On verifie le message
echo("Le champ Message est vide !");
}
else
{
// On verifie le sujet
if($Sujet =="")
{
echo("Le champ sujet est vide !");
}
else
{
// On verifie l'email
if($Email =="")
{
echo("Le champ email est vide !");
}
else
{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
merci d'avance
contact.php
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
mail.php
<?php
if($send =="envoi")
{
if($Name =="")
{
// On verifie le nom
echo("Le champ Nom est vide !");
}
else
{
if($Message =="")
{
// On verifie le message
echo("Le champ Message est vide !");
}
else
{
// On verifie le sujet
if($Sujet =="")
{
echo("Le champ sujet est vide !");
}
else
{
// On verifie l'email
if($Email =="")
{
echo("Le champ email est vide !");
}
else
{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
merci d'avance
A voir également:
- Formulaire de contact
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable ✓ - Forum Vos droits sur internet
- Recuperer contact carte sim - Guide
17 réponses
Tiens, essaye ça :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if($Email ==""){ echo("Le champ email est vide !"); } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
Salut,
Premièrement, est-ce volontaire d'avoir collé deux fois le fichier contact.php ?
Ensuite, dans ton fichier mail.php, il faut que tu récupère les données transmises par post AVANT des les utiliser. ($_POST['cequetuveux'])
Attends deux secondes, je te corrige déjà un bout.
;o)
Premièrement, est-ce volontaire d'avoir collé deux fois le fichier contact.php ?
Ensuite, dans ton fichier mail.php, il faut que tu récupère les données transmises par post AVANT des les utiliser. ($_POST['cequetuveux'])
Attends deux secondes, je te corrige déjà un bout.
;o)
je ne l'ai pas coller simplement il ya 2 fichiers contact.php puis mail.php
merci pour ta correction vais essayer ca :)
merci pour ta correction vais essayer ca :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voila ce qui s'affiche en haut de mon formulaire :
Warning: mail(): Nombre de parametres incorrects in /var/www/free.fr/c/9/jayjay14/DB/mail.php on line 29
Votre message a bien été envoyé
pour les 2 fichiers je sais pas trop non plus j'ai trouver ca sur un site comme j'apprend tres doucement le php donc j'ai suivi la methode a peu pres sur ce site
http://www.webdiz.com/coursphp/form2mail.php
si tu veux voir mon formulaire c'est la
http://jayjay14.free.fr/DB/contact.php
Warning: mail(): Nombre de parametres incorrects in /var/www/free.fr/c/9/jayjay14/DB/mail.php on line 29
Votre message a bien été envoyé
pour les 2 fichiers je sais pas trop non plus j'ai trouver ca sur un site comme j'apprend tres doucement le php donc j'ai suivi la methode a peu pres sur ce site
http://www.webdiz.com/coursphp/form2mail.php
si tu veux voir mon formulaire c'est la
http://jayjay14.free.fr/DB/contact.php
oui, en effet
regarde un peu ici :
http://fr.php.net/mail
regarde un peu ici :
http://fr.php.net/mail
Elle décrit la fonction mail, qui a bien planté chez toi :-D
En fait, Ednax t'as déjà répondu : t'as même pas eu besoin de lire :p
En fait, tu vois que la fonction mail() accepte 4 arguments comme suit :
mail ($emailArrivee, $sujet, $message, $entete); l'entete contenant l'email de l'envoyeur.
Dans ton cas, tu as mis 5 arguements, suite à une faute de frappe j'imagine. php ne comprend pas ce qu'il doit faire du 5e paramètre et t'envoit donc une erreur.
voili voilou
En fait, Ednax t'as déjà répondu : t'as même pas eu besoin de lire :p
En fait, tu vois que la fonction mail() accepte 4 arguments comme suit :
mail ($emailArrivee, $sujet, $message, $entete); l'entete contenant l'email de l'envoyeur.
Dans ton cas, tu as mis 5 arguements, suite à une faute de frappe j'imagine. php ne comprend pas ce qu'il doit faire du 5e paramètre et t'envoit donc une erreur.
voili voilou
Effectivement, il faut que tu regrouppes le nom de l'expéditeur dans ton message, sinon, php ne comprendra pas le paramètres. Il n'est pas correct pour lui.
Fais quelque chose du style :
Ce qui donne :
Fais quelque chose du style :
$Message .= " $Nom";
Ce qui donne :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Message .= " $Name"; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if($Email ==""){ echo("Le champ email est vide !"); } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
MErci bcp Erdnax tu es mon heros :D ca fonctionne nikel..si je profite de toi pour rajouter un truc du style mettre des pieces jointes au mess j'abuse?
Dans un premier temps à mon avis si tu veux améliorer ton script, et là je te laisse chercher, je vais quand même pas faire ton site à ta place, je te conseil de vérifier que l'adresse email entrée non seulement n'est pas vide, mais qu'elle contient un "@", un ".", et au moins 6 caractères ;)
D'autres améliorations pourront être imaginées avant la pièce jointe, car si tu est débutant, c'est déjà un niveau un peu élevé pour toi, rien ne sert de courir, il faut partir en bas (comment ça c'est pas ça ?!?!).
Gravit les échelons par étape, commence par comprendre ce qu'on a fait, pourquoi, et tu verra la satisfaction que tu as lorsque les scripts sont 100% de toi ;)
@+
D'autres améliorations pourront être imaginées avant la pièce jointe, car si tu est débutant, c'est déjà un niveau un peu élevé pour toi, rien ne sert de courir, il faut partir en bas (comment ça c'est pas ça ?!?!).
Gravit les échelons par étape, commence par comprendre ce qu'on a fait, pourquoi, et tu verra la satisfaction que tu as lorsque les scripts sont 100% de toi ;)
@+
voila j'ai rajouté ca pour tester l'adresse mail c'est pas terrible car meme si l'adresse mail est non valide le message s'envoie kan meme ou est l'erreur?
<?php
function checkEmail($Email)
{
if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $Email))
{
return FALSE;
}
list($Username, $Domain) = split("@",$Email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
}
?>
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if(checkEmail($Email) == FALSE)
{
echo "L'adresse E-mail n'est pas valide \n";
}
else
{
echo "L'adresse E-mail est valide \n" ;
}
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body bgcolor="#D8BFD8">
<div id="body">
<div id="content">
<h2 align="center">Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name">
<br>
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email">
<br>
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet">
<br>
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer">
<input type="reset" value="Recommencer">
<br><br><a href="http://jayjay14.free.fr/DB/l-univers-de-dragonball.html">Retour à l'accueil</a>
</p>
</form>
</div>
</div>
</center>
</body>
</html>
<?php
function checkEmail($Email)
{
if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $Email))
{
return FALSE;
}
list($Username, $Domain) = split("@",$Email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
}
?>
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if(checkEmail($Email) == FALSE)
{
echo "L'adresse E-mail n'est pas valide \n";
}
else
{
echo "L'adresse E-mail est valide \n" ;
}
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body bgcolor="#D8BFD8">
<div id="body">
<div id="content">
<h2 align="center">Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name">
<br>
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email">
<br>
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet">
<br>
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer">
<input type="reset" value="Recommencer">
<br><br><a href="http://jayjay14.free.fr/DB/l-univers-de-dragonball.html">Retour à l'accueil</a>
</p>
</form>
</div>
</div>
</center>
</body>
</html>
C'est un peu compliqué à faire pour les fichiers attachés.
Mais il existe des librairies toutes faites que tu peux trouver sur internet pour cela.
par exemple :
http://www.nexen.net/scripts/details.php?scripts=425
(excellent site au passage :) )
Mais il existe des librairies toutes faites que tu peux trouver sur internet pour cela.
par exemple :
http://www.nexen.net/scripts/details.php?scripts=425
(excellent site au passage :) )
Enfin, dans ce cas précis, ce n'est pas une classe mais une exemple de code.
Mais ce que dit Erdnax est vrai. Il vaut mieux faire des choses à ta portée d'abord, même si ce n'est pas aussi évolué que tu le souhaites.
Recopier le code tout fait, sans comprendre, ne te permettra pas de l'adapter à tes besoins de toute façon.
Mais ce que dit Erdnax est vrai. Il vaut mieux faire des choses à ta portée d'abord, même si ce n'est pas aussi évolué que tu le souhaites.
Recopier le code tout fait, sans comprendre, ne te permettra pas de l'adapter à tes besoins de toute façon.
Salut,
On va continuer la discution ici, histoire que ça reste clair.
Je te conseil de faire plus simple, c'est ce que j'ai entre autre utilisé sur mon site :
Mais j'ai un peu peur que tu grilles les étapes en utilisant les regex (expressions régulières) à ce stade. C'est de loin la meilleur solution pour vérifier les mail, mais fais attention à ne pas prendre de script trop pré-conçu.
Je ne suis pas sûr que tu aie comris ce que tu avais fais, sinon tu te serais sûrement passé de la fonction, tu aurais fais une simple vérification... Par contre, si tu as tout compris, bravo !
P.S. utilise < code> et </ code> quand tu veux écrire du code, c'est mieux s'il est mise en forme correctement (avec les espaces au début des lignes) dans tes messages.
On va continuer la discution ici, histoire que ça reste clair.
Je te conseil de faire plus simple, c'est ce que j'ai entre autre utilisé sur mon site :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Message .= " $Name"; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if(($Email == "") || (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $Email))){ echo "L'adresse E-mail n'est pas valide \n"; } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
Mais j'ai un peu peur que tu grilles les étapes en utilisant les regex (expressions régulières) à ce stade. C'est de loin la meilleur solution pour vérifier les mail, mais fais attention à ne pas prendre de script trop pré-conçu.
Je ne suis pas sûr que tu aie comris ce que tu avais fais, sinon tu te serais sûrement passé de la fonction, tu aurais fais une simple vérification... Par contre, si tu as tout compris, bravo !
P.S. utilise < code> et </ code> quand tu veux écrire du code, c'est mieux s'il est mise en forme correctement (avec les espaces au début des lignes) dans tes messages.
Bonsoir à tous,
que j'emploie cette méthode ou une autre (empty, par exemple), j'obtiens toujours le même résultat : Au chargement de ma page, le message d'erreur apparaît déjà.
Je souhaiterai qu'aucun message n'apparaisse au chargement, et que la vérification se fasse une fois le bouton "Envoyé" activé.
J'retourne mon code dans tous les sens depuis deux jours, mais ayant débuté PHP depuis Dimanche seulement, je me sens un peu perdu même si pour l'instant je comprends mon code à 100%.
Est-ce que quelqu'un pourrait m'aider s'il vous plait ??
<edit>
Muarf au bout de deux jours de recherche je comprends, et c'est carrément tout con : <?php if($_POST['bouton']) {
instructions relative à l'envoi dans la base de données et à l'affichage du message d'erreur
}
?>
(où "bouton" est le nom donné au...bouton de soumission du formulaire)
Sérieux là j'ai franchement honte de moi...
</edit>
que j'emploie cette méthode ou une autre (empty, par exemple), j'obtiens toujours le même résultat : Au chargement de ma page, le message d'erreur apparaît déjà.
Je souhaiterai qu'aucun message n'apparaisse au chargement, et que la vérification se fasse une fois le bouton "Envoyé" activé.
J'retourne mon code dans tous les sens depuis deux jours, mais ayant débuté PHP depuis Dimanche seulement, je me sens un peu perdu même si pour l'instant je comprends mon code à 100%.
Est-ce que quelqu'un pourrait m'aider s'il vous plait ??
<edit>
Muarf au bout de deux jours de recherche je comprends, et c'est carrément tout con : <?php if($_POST['bouton']) {
instructions relative à l'envoi dans la base de données et à l'affichage du message d'erreur
}
?>
(où "bouton" est le nom donné au...bouton de soumission du formulaire)
Sérieux là j'ai franchement honte de moi...
</edit>
je me appele mickael je voudrais savoirs si sais posible de faire un formulaire de contacts de question merci de avences
voici un code pour un formulaire de contact:
Formulaire :
le fichier envoie.php :
Formulaire :
<form method=POST action=envoie.php > <table width="526" height="580" border="0" align="center" cellpadding="0"> <tr> <td width="270">Votre Nom:</td> <td width="244"><input type=text name=Nom size=30></td> </tr> <tr> <td>Votre Email:</td> <td><input type=text name=Email size=30></td> </tr> <tr> <td>Sujet:</td> <td><input type=text name=Sujet size=30></td> </tr> <tr> <td><div align="center">Type: *</div></td> </tr> <tr> <td bgcolor="#FFFFFF" ><label> <input type="checkbox" name="Type" value="Commande" /> Commande</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Livraison" /> Livraison</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Annulation" /> Annulation</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Clef-unique" /> Clef Unique</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Autre" /> Autre</label></td> </tr> <tr> <td colspan=2 ><div align="center">* 1 choix uniquement</div></td> </tr> <tr> <td colspan=2>Commentaires:<br> <textarea cols=55 rows=6 name=Commentaires:></textarea></td> </tr> </table> <br> <input type=submit value=Envoyer> - <input type=reset value=Annuler> </form>
le fichier envoie.php :
<?php $TO = "ton email"; $h = "From: " . $TO; $message = ""; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } mail($TO, $subject, $message, $h); header ("Location: ton lien index.html" ); ?>
Bonjour
je ressort un peut ce topic mai plusieurs personnes essaye de faire la même chose que moi et voici comment faire.
voici le formulaire:
le traitement (send_pic.php):
donc mon problème c'est que je reçois bien mon fichier mais je n'est pas les information qui ce trouve dans le formulaire " nom , email , clef "
Merci pour votre aide
je ressort un peut ce topic mai plusieurs personnes essaye de faire la même chose que moi et voici comment faire.
voici le formulaire:
<form action=send_pic.php method=post enctype=multipart/form-data > <input name="to" type="hidden" value="votre email" /> <input name="sujet" type="hidden" value="votre sujet" /> <table border="0"> <tr><td width="156">Votre Nom:</td> <td width="247"><input name="nom" type="text" size=30></td> </tr> <br> <tr><td>Votre Email:</td> <td><input name="from" type="text" size=30></td> </tr> <br> <tr><td width="156">Cléf Unique : </td> <td width="247"><input name="clef" type="text" size=30></td> </tr> <br> <tr><td>Votre Photo : </td> <td><input name="monfichier" type="file" /></td> </tr> </table> <br> <input type=submit value=Envoyer> --- <input type=reset value=Annuler> </form>
le traitement (send_pic.php):
<html> <body> <div align="center"> <? $name_file = $_FILES['monfichier']['name']; $source=$_FILES['monfichier']['tmp_name']; move_uploaded_file($source, "./".$name_file); $extension=get_extension($name_file); $type="text/plain"; if($type=="doc") { $type="text/vnd.ms-word"; } else if($type=="xls") { $type="text/vnd.ms-excel"; } $type2="image/png"; if($extension=="gif") { $type2="image/gif"; } else if($extension=="bmp") { $type2="image/bmp"; } function get_extension($filename) { $parts = explode('.',$filename); $last = count($parts) - 1; $ext = $parts[$last]; return $ext; } //---------------------------------- // Construction de l'entête //---------------------------------- if($_POST['to']!="") { $boundary = "-----=".md5(uniqid(rand())); $header = "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; $header .= "\r\n"; $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n"; $msg .= "--$boundary\r\n"; $msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n"; $msg .= "Content-Transfer-Encoding:8bit\r\n"; $msg .= "\r\n"; $msg .= $_POST['message']; $msg .= "\r\n"; if($name_file!="") { $file = $name_file; $fp = fopen($file, "r"); $attachment = fread($fp, filesize($file)); fclose($fp); $attachment = chunk_split(base64_encode($attachment)); $msg .= "--$boundary\r\n"; $msg .= "Content-Type: $type2; name=\"$file\"\r\n"; $msg .= "Content-Transfer-Encoding: base64\r\n"; $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n"; $msg .= "\r\n"; $msg .= $attachment . "\r\n"; $msg .= "\r\n\r\n"; $msg .= "--$boundary--\r\n"; } $destinataire = $_POST['to']; $expediteur = $_POST['from']; $reponse = $expediteur; mail($destinataire, $_POST['sujet'], $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\nNom: $nom/r/n".$header); } if($name_file!="") { unlink($name_file); } echo "Mail envoyer"; print("<br>\n"); echo "<a href=.... >Retour a L'Accueil</a>"; ?> </div> </body> </html>
donc mon problème c'est que je reçois bien mon fichier mais je n'est pas les information qui ce trouve dans le formulaire " nom , email , clef "
Merci pour votre aide
Bonjour celui fonctionne pour moi : tu as juste a modifié vers les lignes 50 , mettre ton email , un titre par exemple : Message du site
et éventuellement aussi le tete. voila , bonne journée
et éventuellement aussi le tete. voila , bonne journée
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <title>Nous contactez</title> <center><?php // Couleur du texte des champs si erreur saisie utilisateur $color_font_warn="#FF0000"; // Couleur de fond des champs si erreur saisie utilisateur $color_form_warn="#FFCC66"; // Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites ! if(isset($_POST['submit'])){ $erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){ if(!is_array($val)){ $$var=strip_tags($val); }else{ while(list($arvar,$arval)=each($val)){ $$var[$arvar]=strip_tags($arval); } } } // Formatage des entrées $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); $f_2=strip_tags(trim($f_2)); $f_3=trim(eregi_replace("[^0-9\ +]", "", $f_3)); // Verification des champs if(strlen($f_1)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Nom* » est vide ou incomplet.</b></span>"; $errf_1=1; } if(strlen($f_2)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Email* » est vide ou incomplet.</b></span>"; $errf_2=1; }else{ if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'. '@'. '[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'. '[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$', $f_2)){ $erreur.="<li><b><span class='txterror'>Votre adresse e-mail n'est pas correcte.</b></span>"; $errf_2=1; } } if(strlen($f_4)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Message* » est vide ou incomplet.</b></span>"; $errf_4=1; } if($erreur==""){ // Création du message $titre="Message de $f_1 du Site"; $tete="De:Mon Site\n"; $corps.="Nom* : ".$f_1."\n"; $corps.="Email* : ".$f_2."\n"; $corps.="Téléphone : ".$f_3."\n"; $corps.="Message : ".$f_4."\n"; if(mail("Ton email", $titre, stripslashes($corps), $tete)){ $ok_mail="true"; }else{ $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>"; } } } ?> <style type="text/css" media="screen"> <!-- INPUT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } .txterror { color: red; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .txtform { color: black; font-size: 20px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .valeur { color: red; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .blue { color: blue; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } --> </style> <span class='txtform'> <h4><span class='blue'><b><h2>Contact :</h4> </span> <? if($ok_mail=="true"){ ?> <table width='60%' border='0' cellspacing='1' cellpadding='1'> <tr><td><span class='valeur'><b>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</b></span></td></tr> <tr><td> </td></tr> <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr> <tr><td> </td></tr> <tr><td><span class='valeur'>Nous vous répondrons dès que possible</span></td></tr> </table> <? }else{ ?> <form action='<? echo $PHP_SELF ?>' method='post' name='Form'> <table width='60%' border='0' cellspacing='1' cellpadding='1'> <? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?> <tr><td colspan='2'><span class='txterror'>Les champs marqué d'un * sont obligatoires</span></td></tr> <tr><td width='30%'><span class='txtform'>Nom* :</span></td><td><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Email* :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Téléphone :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Message* :</span></td><td><textarea style='width:360 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' rows='6' cols='40'><?echo$f_4?></textarea></td></tr> <tr><td width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr> </table> </form> <? } ?>