Ajout fichier à un mail

Fermé
gfcna - 8 juin 2010 à 11:36
Bonjour,

voilà j'ai ce formulaire qui me lance ce résultat, j'aimerais insérer un input type file permettant d'ajouter un fichier au mail mais je n'ai aucune idée comment faire niveau php
pouvez vous m'aider svp c'est important.

mail.tpl

<!-- Formulaire -->
<div>
<form action="mail.php" name="form_preview" method="post">
<b> Numéro du logement : </b>
<input type="text" name="num" value="{$num}"> <em>Séparer les numéros par des points virgule (;) pour un envoi multiple</em><b<br><br>
Email du destinataire : <input type="text" name="email" value="{$email}">

<br> <br> joindre un fichier : <input type="file" name="monfichier">

<input type="submit" name="Addfichier" value="Ajouter ce fichier">
<input type="hidden" name="temp_fichier_dir" value="<?php echo $temp_fichier_dir; ?>">
<br><br> <input type="submit" value="Prévisualisation" name="submit_preview">
</form>
<br />

<div class="form_error">
{if $empty_field}
Veuillez remplir tous les champs!
{/if}
{if $invalid_num}
Le numéro ou un des numéros de logement que vous avez rentré n'est pas valide! Veuillez vérifier votre saisie.
{/if}
</div>
</div>


{if $preview}
<hr />

<!-- Preview -->
<div style="border: 1px solid #339933;">
<h2>Prévisualisation :</h2>

{include file="mail_logement.tpl"}
</div>
<br />
<br />
<div>
<form action="mail.php" name="form_send" method="post">
<input type="submit" value="Envoyer" name="submit_send" />
<input type="hidden" value="{$num}" name="num" />
<input type="hidden" value="{$email}" name="email" />
</form>
</div>
{/if}


mail.php

<?php
/* fichier : message.php
* fonction : gère le contenu de la page d'accueil
*/
require_once("file_header.php");

$smarty = new Smarty();
$smarty -> assign("titre", "Envoi d'informations sur un logement par Mail");

function infos_logement($num){

$qstr = "SELECT lg.lg_prenom AS logeur_prenom, lg.lg_nom AS logeur_nom, lg.lg_tel_dom AS logeur_teldom, lg.lg_tel_port AS logeur_telport, lg_tel_pro AS logeur_telpro, t.t_l_nom AS type, l.l_superficie AS superficie, l.l_date_dispo AS date_disp, l.l_adresse1 AS adresse1, l.l_adresse2 AS adresse2, l.l_cp AS cp, v.v_nom AS ville, dp.d_p_nom AS distance_pied, dv.d_v_nom AS distance_km, l.l_plan AS plan, l.l_meubles AS meuble, sl.s_nom AS sanitaires, rl.r_nom AS cuisine, l.l_commentaire AS commentaire, l.l_commentaires_prives AS commentaire_prives, l.l_loyer AS loyer, l.l_charges AS charges, l.l_caution AS garantie, l.l_duree_bail AS duree_bail

FROM logement l
INNER JOIN logeur lg ON l.l_lg_id = lg.lg_id
INNER JOIN type_logement t ON l.l_t_id = t.t_l_id
INNER JOIN sanitaire_logement sl ON l.l_sanitaires = sl.s_id
INNER JOIN repas_logement rl ON l.l_r_id = rl.r_id
INNER JOIN distance_pied dp ON l.l_d_p_id = dp.d_p_id
INNER JOIN distance_voiture dv ON l.l_d_v_id = dv.d_v_id
INNER JOIN ville v ON l.l_v_id = v.v_id

WHERE l.l_id = ".$num." LIMIT 1
";


$logement = array();
$query = mysql_query($qstr);

if($query){
$result = mysql_fetch_array($query);
$logement["num"] = $num;
$logement["type"] = $result["type"];
$logement["superficie"] = $result["superficie"];
$logement["date_disp"] = date_isoToFr($result["date_disp"]);
$logement["adresse1"] = $result["adresse1"];
$logement["adresse2"] = $result["adresse2"];
$logement["cp"] = $result["cp"];
$logement["ville"] = $result["ville"];
$logement["distance_pied"] = $result["distance_pied"];
$logement["distance_km"] = $result["distance_km"];
$logement["plan"] = $result["plan"];
if($result["meuble"] == 1)
$logement["meuble"] = true;
$logement["sanitaires"] = $result["sanitaires"];
$logement["cuisine"] = $result["cuisine"];
$logement["commentaire"] = $result["commentaire"];
$logement["commentaire_prives"] = $result["commentaire_prives"];
$logement["loyer"] = $result["loyer"];
$logement["charges"] = $result["charges"];
$logement["garantie"] = $result["garantie"];
$logement["duree_bail"] = $result["duree_bail"];
$logement["logeur_nom"] = $result["logeur_nom"];
$logement["logeur_prenom"] = $result["logeur_prenom"];
$logement["logeur_teldom"] = $result["logeur_teldom"];
$logement["logeur_telport"] = $result["logeur_telport"];
$logement["logeur_telpro"] = $result["logeur_telpro"];
}

return $logement;

}

//fonction : vérifie la validité d'un numéro de logement

function valid_num($num){
$query = mysql_query("SELECT * FROM logement WHERE l_id = '".$num."' LIMIT 1");
return (mysql_num_rows($query) > 0);
}

function date_isoToFr($date){
list($year, $month, $day) = split('-', $date);
return $day."/".$month."/".$year;
}



function VerifierAdresseMail($adresse)
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$adresse))
return true;
else
return false;
}
$adresse=htmlentities($_POST['email']);
if(VerifierAdresseMail($adresse))
echo '<font color="red">Votre adresse est valide.</font>';
else
echo '<font color=\"red\">Votre adresse e-mail n\'est pas valide.</font>';



/* programme */
$num = "";
$email = "";

if(isset($_POST["submit_send"])){ //envoi du mail
if(isset($_POST["num"]) && !empty($_POST["num"]) && isset($_POST["email"]) && !empty($_POST["email"])){
$num = $_POST["num"];
$email = $_POST["email"];
$logements = split(';', $num);

//infos
$data = array();
foreach($logements as $numero){
array_push($data, infos_logement($numero));
}

//template mail
$smarty_m = new Smarty();
$smarty_m -> assign("logements", $data);
$contenu = $smarty_m -> fetch("mail_logement.tpl");

//envoi mail
ini_set('sendmail_from','Celine.Feramus@utc.fr');
$header ="From: Alesc <Celine.Feramus@utc.fr>\n";
//$header .= 'MIME-Version: 1.0' . "\r\n";
//$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header .= 'MIME-Version: 1.0' . "\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$subject = "ALESC : Informations sur les logements";

$mail = mail($email, $subject, $contenu, $header);

//resultat
if(!$mail)
$smarty -> assign("error", true);

$smarty -> assign("num", $num);
$smarty -> assign("email", $email);
$smarty -> assign("template", "mail_result");
}
}

else if(isset($_POST["submit_preview"])){ //preview du mail

//verification données
if(empty($_POST["num"]) || empty($_POST["email"])){
$smarty -> assign("empty_field", true);
}
else{
$valid = true;
$email = $_POST["email"];
$num = trim($_POST["num"], ';');
$logements = split(';', $num);

//vérification numéros logement
foreach($logements as $numero){
if(!valid_num($numero))
$valid = false;
}

//affichage
if($valid){

$data = array();
foreach($logements as $numero){
array_push($data, infos_logement($numero));
}
$smarty -> assign("logements", $data);
$smarty -> assign("preview", true);
$smarty -> assign("num", $num);
$smarty -> assign("email", $email);
}
else{
$smarty -> assign("invalid_num", true);
}

}

$smarty -> assign("template", "mail");
}

else{ // formulaire
$smarty -> assign("template", "mail");
}




//affichage
$smarty -> display("main.tpl");
?>

Merci
A voir également: