Probleme envoi fichier en php

patriot -  
 patriot -
Bonjour,

voila je me lance dans la creation d'un site internet, cependant je suis débutant en PHP.

Je me suis documenté, et j'ai voulu faire mon premier formulaire pour que les gens puisse me contacter.

ce formulaire très basique comprend 4 champs: mail / sujet/ joindre un fichier / message.

je recoit bien sur ma boite l'adresse, le sujet et le message mais pas le fichier joint, en effet au lieu de recevoir le fichier joint je recoit dans le mail en desous du text ecrit par la personne qui m'envoi le mail, l'emplacement du fichier qu'il souhaite m'envoyé et non le fichier ce qui me sert strictement a rien .

voila mon script PHP:

/*
GONFIGURATION
*/
$YourMail="coursos@hotmail.fr";

$lenSubject=200;
$lenMsg=4000; //taille du message
$SendRecpt=1; // accusé


$NoticeMsg=" Vore message a été bien envoyé a nos service. Nous vous remercions et vous recontacterons dans les plus bref délai.
<Br> Le Service clientèle COURSOS.fr";
$NoticeSub="Réponse automatique service clientèle ";
$ErrMsg1="Champs omis ! tout les champs sont obligaoire ."; //lorse que un chmaps est vide
$ErrMsg2="ERREUR: Message non envoyé."; //lorseque l'email n'est pas envoyé
$thanks=" - Message reçue ! Merci. -"; //confirmation .

/*
FIN CONFIGURATION
*/



$Vemail=trim($_POST["email"]);
$Vsujet=trim($_POST["sujet"]);
$Vfichier=trim($_POST["joindre"]);
$Vmsge=trim($_POST["message"]);
if($Vemail == ""|| $Vsujet == ""||$Vmsge == "")
{
echo "Un champs a été omis";
}else{
$reg="^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z\.]{2,5}$";
if(!eregi($reg,$_POST["email"])){
echo $ErrMsg1;
} else
{
//qlq truc
if (strlen($Vsujet) > $lenSubject){
echo "Sujet trop long";

}else if (strlen($Vmsge) >$lenMsg ){
echo "Message trop long .";
} else{

if(@mail($YourMail,$Vsujet." IP :". $Vemail,$Vfichier, $Vmsge))

{
echo $thanks;
if($SendRecpt== 1){
mail($_POST["email"],$NoticeSub,$NoticeMsg);
}
}else{
echo "ERREUR: Message non envoyé";
}
}
}
}

?>



pourriez vous me dire s'il vous voiez l'erreur?
je vous joint egalement mon script HTML du formulaire :


<html>
<head>
<title>Nous contacter</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="ok.php">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="26%"><font size="2" face="verdana">Votre Email</font></td>
<td width="74%"><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td><font size="2" face="verdana">Sujet</font></td>
<td><input name="sujet" type="text" id="sujet"></td>
</tr>
<tr>
<tr>
<td><font size="2" face="verdana">Joindre un fichier</font></td>

<td><input name="joindre" type="file"></td>
</tr>

<td><font size="2" face="verdana">Votre Message</font></td>
<td><textarea name="message" cols="55" rows="7" id="message">
A voir également:

4 réponses

bart51 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Je pense que ton problème vient de l'upload, en effet tu enregistres l'adresse du fichier dans une variable $Vfichier, or tu te peux pas mettre un fichier dans une variable, le meilleurs moyen et de faire une interaction avec la BDD qui elle retient le nom du fichier et après peux donner un lien vers le fichier dans l'e-mail. L'upload est un système très complexe.
0
le père
 
Bonsoir

Non, l'upload n'est pas un système très complexe. Il est très bien expliqué dans la documentation PHP, par exemple sur le site officiel :
https://www.php.net/manual/fr/features.file-upload.php
Tu y verras que $_POST["joindre"] n'est pas la bonne variable à récupérer.
Ce qui est (un peu) plus délicat, c'est d'envoyer une pièce jointe à un mail. Je ne connais pas par coeur, mais cherche dans les messages postés cet après-midi, j'ai vu qu'il y avait un exemple.
0
patriot
 
merci, c super gentil

je vais tester voir si sa fonctionne
0
patriot
 
sa ne fonctionne pas je me perd avec l'upload!

svp quelqu un pourais t-il m'aidera le rediger?

merci davance
0