fichier joint et formulaire
Posté : 05 sept. 2007, 21:27
Bonjour à tous,
voilà je débute en php et j'ai quelques petit soucis dans la mise en place d'un formulaire avec fichier joint
voilà je débute en php et j'ai quelques petit soucis dans la mise en place d'un formulaire avec fichier joint
<?php
$boundary = "-----=".md5(uniqid(rand()));
function get_extension($filename)
{
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','[email protected]'); //adresse mail de destination
define('MAIL_SUJET','Demande de devis'); //Sujet du mail
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre Prenom<br/>"; // Verification des champs laissé vide
if (empty($_POST['adresse']))
$message .= "Votre adresse <br/>";
if (empty($_POST['codepostal']))
$message .= "Votre Code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre Ville<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse mail<br/>";
if (strlen($message) > strlen($msg_erreur))
{
echo $message;
}
else
{
foreach($_POST as $index => $valeur)
{
$$index = stripslashes(trim($valeur));
}
//Préparation de l'entête du mail:
$boundary = "-----=".md5(uniqid(rand()));
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']}"
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= "Content-Type: multipart/mixed;boundary=\"\$boundary\"\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "--$boundary\r\n";
$mail_corps .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$mail_corps .= "Content-Transfer-Encoding:8bit\r\n";
$mail_corps .= "Société: $societe\n";
$mail_corps .= "Message de : $nom $prenom\n";
$mail_corps .= "Fonction : $fonction\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Son numéro de téléphone: $telephone, fax : $fax\n";
$mail_corps .= "Son site Internet : $site\n";
$mail_corps .= "Langue source : $select\n";
$mail_corps .= "Langue cible 1: $select2\n";
$mail_corps .= "Langue cible 2 : $select3\n";
$mail_corps .= "Langue cible 3 : $select4\n";
$mail_corps .= "Langue cible 4 : $select5\n\n\n";
$mail_corps .= "Domaine du projet : $projet";
//fichier joint
$name_file = $_FILES['file']['name'];
$source = $_FILES['file']['tmp_name'];
move_uploaded_file($source, "./".$name_file);
$type="text/plain";
$extension=get_extension($name_file);
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";
}
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete))
{
//Le mail est bien expédié
echo $msg_ok;
} else
{
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}
}
?>
je n'ai pas d'erreur sauf que je ne recois plus les reponses du formulaire ni le fichier joint