Formulaire envoi de fichier par email (php)

benoit422 Messages postés 124 Statut Membre -  
benoit422 Messages postés 124 Statut Membre -
Bonjour, depuis deux jours je cherche un code qui me permette d'envoyer un fichier et un message a mon adresse email lorsque l'on remplis ces champs . J'ai trouver les deux codes suivant , mais lorsque l'email est envoyer ,il est vide et un message d'erreur m'indique que je n'ai pas renseigné le "sujet" et "l'email" du formulaire :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr">
<title>Contact</title>
</head>
<body>
<!--DEBUT CODE FORMULAIRE-->
<!-- Ce script a été développé par Nadine
Gaine.
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES
seulement, et le modifier à votre convenance.
Trouvé sur http://www.toulouse-renaissance.net/bach-flowers/ -->
<form enctype="multipart/form-data" method="POST" action="mailupload.php"
name="AVIS">
<table width="600" border=0>
<tr>
<td width="35"></td>
<td width="565"><H1>Contact</H1><p>&nbsp;</td>
</tr>
<tr>
<td width="35"></td>
<td width="565">
<font face="Verdana"><small>Votre email :</small><br>
<small><input type="text" name="Email" size="40"></small></font>
<font face="Verdana"><small>(*)</small><br>
<p><font face="Verdana"><small>Le sujet :</small><br>
<small><input type="text" name="Sujet" size="40"></small></font>
<font face="Verdana"><small>(*)</small><br>
</p>
<p><small><font face="Verdana">Joindre un fichier :
</small></font><BR>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<input name="monfichier" type="file" size="40" ><BR>
</p>
<p><font face="Verdana"><small>Votre message :</small><br>
<small><textarea rows="5" name="Message"
cols="40"></textarea></small></font>
</p>
<i><font face="Verdana"><small>(*) champs obligatoires.</small></i>
<p>&nbsp;</p>
<p><small><font face="Verdana"><input type="submit" value="Envoyer"
name="envoyer">
<input type="reset" value="Recommencer"
name="recommencer"></font></small> <br>
<br>
</p>
</td>
</tr>
</table>
</form>
<!--FIN CODE FORMULAIRE-->
</body>
</html>

Et la page PHP :
<html>
<head></head>
<body>
<?
/* Ce script a été développé par Nadine Gaine.
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES seulement,
et le modifier à votre convenance.
Trouvé sur http://www.toulouse-renaissance.net/bach-flowers/
*/
$MailTo = "benoit.96@hotmail.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "benfou@live.fr"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "$Sujet"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: ".$Email; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx"("$champ3").
/* Les routines suivantes permettent à chacune des variables de prendre la
valeur des champs du formulaire et de les stocker ensuite dans la variable
globale MailBody qui constituera le corps du message */
$Envoi = 1; //initialisation de la variable envoi à 1
if ($Email == ""){
echo("<font face=verdana size=2>Vous n'avez pas renseigné votre adresse email. Nous ne pourrons vous répondre.<br></font>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 1;
}
if ($Sujet == ""){
echo("<font face=verdana size=2><br>Vous n'avez pas indiqué le
sujet.</font><br>");
$Envoi = 1;
}
//S'il y a des erreurs, on propose de recommencer
if ($Envoi == 0) echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><A
HREF=\"Javascript:history.go(-
1)\"><strong>Retour</strong></A>&nbsp;&nbsp;&nbsp;<A
HREF=\"home.htm\"><strong>Annuler</strong></a></p>");
//Envoi du message
if ($Envoi == 1) { //sinon on envoie le mail
mail($MailTo, $MailSubject, $Message, $MailHeader); //envoi du message
echo("<p><font face=verdana size=2>Votre message a bien été
envoyé.<br>Merci de vos commentaires.</font>");
echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><A
HREF=\"home.htm\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
if ($monfichier <> ""){
// Initialisation des chemins pour le transfert de fichiers
$repertoireDestination = "/var/www/sdb/5/5/windo/mailupload/"; // par rapport à la racine par défaut
$nomDestination = $_FILES["monfichier"]["name"];
// upload du fichier si fichier joint
if ($monfichier <> "") {
// Pour raison de sécurité on ajoute l'extension '.txt'
// aux fichiers portant une extension de type '.php' ou '.php3'
if (eregi(".php", $nomDestination)) {
$nomDestination .= ".txt";
}
$timeline = time(); // pour que le nom de fichier soit unique
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
if (rename($_FILES["monfichier"]["tmp_name"],
$repertoireDestination.$timeline."-".$nomDestination)) {
/*echo "Le fichier temporaire
".$_FILES["monfichier"]["tmp_name"].
" a été déplacé vers
".$repertoireDestination.$nomDestination;*/
} else {
echo "ERREUR : Le déplacement du fichier temporaire a échoué :
".
"vérifiez l'existence du répertoire
".$repertoireDestination;
}
} else {
echo "ERREUR : Le fichier n'a pas été uploadé : ";
echo "sa taille est peut-être plus importante que la taille maximum
autorisée.";
}
}
}
?>
</body>
</html>


A voir également:

2 réponses

lesuperflicdu88 Messages postés 27 Statut Membre
 
Je vais voir si ça marche, je vous redis, merci beaucoup d'avance
0
benoit422 Messages postés 124 Statut Membre 7
 
Sa ne fonctionne pas chez moi ....
0
benoit422 Messages postés 124 Statut Membre 7
 
Je n'ai toujours pas de solution , un programmeur pourrait m'aider si possible ? :S

Cordialement .
0