Bonjour à tous !
Je viens vers vous suite à un problème, dont je ne pensais pas que ça allait en être un, celui de l'envoi de pièce jointe par mail, via un formulaire en ligne. Je propose un formulaire à l'utilisateur qui lui permet de me contacter, en joignant son CV (et sa lettre de motivation, mais c'est le même principe je suppose).
L'envoi de mail marche très bien, mais joindre le CV que l'utilisateur propose est un enfer, je suis dessus depuis 2j sans succès
J'ai trouvé des pistes comme quoi il faudrait d'abord héberger le fichier sur le serveur à l'aide de move_uploaded_file, puis ensuite le joindre au message mais ... j'ai essayé bien des méthodes, sans succès.
Halte au blabla, place au code pour vous donner de l'inspiration :
HTML :
Citation :
<form enctype="multipart/form-data" action="index.php?menu=postuler_envoi" method="POST" name="postuler" style='padding:5px;border:2px solid Crimson;width:600px;' onSubmit="return verif_postuler();" onReset="return confirm('Voulez-vous vraiment réinitialiser les données ?');">
<table>
<tr>
<td>Nom : <input type='text' name='nom'>
<tr>
<td>Prénom : <input type='text' name='prenom'>
<tr>
<td>Mail : <input type='text' name='mail'>
<tr>
<td>CV : <input type='file' name='cv'>
<tr>
<td>Lettre de motivation : <input type='file' name='lettre'><br /><br />
<tr>
<td>Veuillez cocher les thématiques souhaitées :<br />
<input type="checkbox" name="theme[]" value="culture" />Culture
<input type="checkbox" name="theme[]" value="sports" />Sports
<input type="checkbox" name="theme[]" value="citoyennete" />Citoyenneté<br />
<input type="checkbox" name="theme[]" value="loisirs" />Loisirs
<input type="checkbox" name="theme[]" value="solidarite" />Solidarité
<input type="checkbox" name="theme[]" value="environnement" />Environnement
<tr>
<td>
<input type='submit' value='Envoyer'>
<input type='reset' value='Réinitialiser'>
</table>
</form>
|
Traitement PHP :
Citation :
<?php if(!empty($_POST['postuler']))
{
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$mail = $_POST['mail'];
$themes = "";
foreach ($theme as $choix)
{
$themes = $themes . " - " . "<b>" . $choix . "</b>";
}
$themes = $themes . " - ";
move_uploaded_file($_FILES['cv']['tmp_name'], "./telechargements".$_FILES['cv']['name']);
$destinataire = "alexandre.toupet@wanadoo.fr";
$sujet = "$nom $prenom - Candidature";
$from = "From:$mail\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$message = "Candidature Service Civique de : <b>$nom $prenom</b> <br /><br />
Thème(s) sélectionné(s) : <b>$themes</b><br /><br />
Ci-joints : CV + Lettre de motivation du candidat."; }
mail($destinataire,$sujet,$message,$from);?>
|
Voilà, comme vous pouvez le voir, j'essaie là juste de copier le fichier sur le serveur, et cela ne marche pas. Cela vient il d'un problème de syntaxe ? Propre au serveur ? Autre ? (A noter que j'ai fait un chmod 777 au dossier cible -telechargement-
Merci à toutes celles et ceux qui s'intéresseront à mon problème et me permettront de mener à bien mon script !