Bonjour a tous
voila j'ai créer un petit site internet avec l'aide de beaucoup de personne que je remercie énormément mon problème est que je souhaitez faire un formulaire de contact avec pièce jointe
donc le coté HTML du formulaire pas de problème je l'ai fait il me convient super bien
mais du coté PHP j'ai un gros souci si quelqu'un pourrait m'aider ce serait sympa de sa part
je rempli le formulaire tous ce passe bien quand j'appuis sur envoyer voila mon message d'erreur :
Problème avec la pièce jointe.
Le mail n'a pas été envoyé
voiçi le code qui a était réaliser :
s'il vous plait besoin d'aide
voila j'ai créer un petit site internet avec l'aide de beaucoup de personne que je remercie énormément mon problème est que je souhaitez faire un formulaire de contact avec pièce jointe
donc le coté HTML du formulaire pas de problème je l'ai fait il me convient super bien
mais du coté PHP j'ai un gros souci si quelqu'un pourrait m'aider ce serait sympa de sa part
je rempli le formulaire tous ce passe bien quand j'appuis sur envoyer voila mon message d'erreur :
Problème avec la pièce jointe.
Le mail n'a pas été envoyé
voiçi le code qui a était réaliser :
<?php
// On vérifie que le formulaire a été correctement rempli
if(isset($_POST['submit'])){
// On vérifie que les chanmps existent
if(isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['objet']) && isset($_POST['message']) && isset($_POST['email'])){
// si la réponse est positive, alors on récupère les valeurs à traiter
$_nomExpediteur = $_POST['nom'];
$_prenomExpediteur = $_POST['prenom'];
$_objet = $_POST['objet'];
$_messageExpediteur = $_POST['message'];
$_emailExpediteur = $_POST['email'];
echo "<br/>".$_prenomExpediteur."<br/>";
// clé aléatoire de limite
$_boundary = md5(uniqid(microtime(), TRUE));
// headers des mails
$_headers = 'From : '.$_nomExpediteur.' '.$_prenomExpediteur.'<'.$_emailExpediteur.'>'."\r\n".'Reply-To:'.$_emailExpediteur."\r\n".'X-Mailer Smiley langue HP/'.phpversion();
$_headers .= 'Ccc : Lucius SAHAJ <lesahaj@gmail.com>,'.$_nomExpediteur.' '.$_prenomExpediteur.'<'.$_emailExpediteur.'>'."\r\n";
$_headers = 'Mime-Version: 1.0'."\r\n";
$_headers .= 'Content-type: multipart/mixed;boundary='.$_boundary."\r\n";
$_headers .= "\r\n";
// encodage des caractères
$_msg = 'Ceci est un mail automatique provenant de webmaster ANINF et est sous forme multipart/mixed';
$_msg .= '--'.$_boundary."\r\n";
$_msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$_msg .= 'Content-transfer-encoding:8bit'."\r\n";
$_msg .= 'Test message avec une pièce jointe.'."\r\n";
// au contenue de $_msg je vais ajouter le message du visiteur
$_msg .= '--'.$_boundary."\r\n";
$_msg .= $_messageExpediteur."\r\n";
$_msg .= "\r\n";
if (isset($_FILES['piecejointe']) && is_uploaded_file($_FILES['piecejointe']['temp_name'])){
// on récupère les valeurs du fichier en piece jointe
$_nomFichier = $_FILES['piecejointe']['name']; // Le nom original du fichier, comme sur le disque du visiteur (exemple : mon_icone.png).
$_typeFichier = $_FILES['piecejointe']['type']; // Le type du fichier. Par exemple, cela peut être « image/png ».
$_tailleFichier = $_FILES['piecejointe']['size']; // La taille du fichier en octets.
// traitement du fichier joint
$_content = chunk_split(base64_encode(file_get_contents($_nomFichier)));
// on attache les fichiers
$_msg .= '--'.$_boundary."\r\n";
$_msg .= 'Content-type:'.$_typeFichier.';name='.$_nomFichier."\r\n";
$_msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= "Content-Disposition: attachment; filename=\"$_nomFichier\"\n\n";
$_msg .= $content."\r\n";
// fin de tous les traitements de fichiers
$_msg .= '--'.$_boundary."\r\n";
// Toutes les valeurs sont correctes alors on lance l'envoie du mail
// @mail de destination des mails
$_to = 'jim.devif@laposte.net';
// On envoit le mail
if(mail($_to, $_objet, $_message, $_headers)){
echo "Votre mail a bien été envoyé nous vous répondrons dans les plus bref délais. <br><p> Merci de votre visite</p>";
}
else echo "L'envoie du dossier a échoué<br/>";
}
else echo "Problème avec la pièce jointe. <br/>Le mail n'a pas été envoyé ";
}
else echo "Remplissez correctement le formulaire";
}
?>
s'il vous plait besoin d'aide