Envoyer pièce jointe mail()

jimmy1708
Invité n'ayant pas de compte PHPfrance

09 oct. 2014, 15:49

Bonjour, j'ai en ma possession un formulaire que je me suis constitué afin que l'on puisse me contacter, et j'aurais aimé que l'utilisateur puisse me joindre un fichier.



Voici mon formulaire (100% fonctionnel).
<form class="contact_form" name="contact_form" id="contact_form" action="traitement.php" method="post">

		<!-- User nom -->
		<div class="input-group">
  			<span class="input-group-addon">Nom</span>
  			<input type="text" class="form-control" placeholder="Votre nom" name="nom">
		</div>

		<!-- User prenom -->
		<div class="input-group" style="margin-top:20px;">
  			<span class="input-group-addon">Prénom</span>
  			<input type="text" class="form-control" placeholder="Votre prénom" name="prenom">
		</div>

		<!-- User e-mail -->
		<div class="input-group" style="margin-top:20px;">
  			<span class="input-group-addon">E-mail</span>
  			<input type="text" class="form-control" placeholder="Votre adresse mail" name="email">
		</div>

		<!-- Mail objet -->
		<div class="input-group" style="margin-top:20px;">
  			<span class="input-group-addon">Objet</span>
  			<input type="text" class="form-control" placeholder="Objet du message" name="objet">
		</div>

		<!-- Mail sujet -->
		<div class="form-group" style="margin-top:20px;width:500px;margin:auto;padding-top:20px;">
			<span class="input-group-addon">Sujet</span>
   			<textarea class="form-control" rows="3" name="message" form="contact_form" placeholder="Votre message" id="message"></textarea>
	 	</div>
		<!-- Submit -->
	 		<button type="submit" class="btn btn-default" style="margin-top:5px;">Envoyer</button>
	</form>
Et voici mon code de réception de d'envoie du mail
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) && isset($_POST['objet']) && isset($_POST['message'])){
	if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['email']) && !empty($_POST['objet']) && !empty($_POST['message'])){

		// Informations mail
		$destinataire	=	'MONMAIL';
		$nom			=	$_POST['nom'];
		$prenom			=	$_POST['prenom'];
		$objet			=	'Contact du site: '.$_POST['objet'];
		$email			=	$_POST['email'];
		$message		=	'<b>Nom:</b> '.$nom.'<br/><br/><b>Prénom:</b> '.$prenom.'<br/><br/><b>Adresse mail:</b> '.$email.'<br/><br/><b>Message:</b><br/>'.$_POST['message'].'<br/>';

		// Entete
		$entete 		= 	'To: Contact du site <MONMAIL>'."\r\n" .
							'From: ' . $_POST['nom'] . ' ' . $_POST['prenom'] . '<MONMAIL>' . "\r\n" .
							'Reply-To: ' . $_POST['nom'] . ' ' . $_POST['prenom'] . '<'.$email.'>' . "\r\n" .
							'MIME-Version: 1.0' . "\r\n".
							'Content-type: text/html; charset=iso-8859-1' . "\r\n";
		
		//Envoi du mail
		ini_set("SMTP", "smtp.gmail.com"); 
		ini_set("smtp_port", 587 );
		ini_set("sendmail_from", "MONMAIL");
		if(mail($destinataire, $objet, $message, $entete)) { 
			?>
			<style type="text/css">
			#idElement{ 
			   animation-name:monAmination; -webkit-animation-name:monAmination; 
			   -moz-animation-name:monAmination; -o-animation-name:monAmination; 
			   animation-duration:4s; -webkit-animation-duration:4s; 
			   -moz-animation-duration:4s; -o-animation-duration:4s; 
			   } 
			@keyframes monAmination{from {top:-400px;} to {top:0px;}} 
			@-webkit-keyframes monAmination{from {top:-400px;} to {top:0px;}} 
			@-moz-keyframes monAmination{from {top:-400px;} to {top:0px;}} 
			@-o-keyframes monAmination{from {top:-400px;} to {top:0px;}} 
			</style>


			<div class="mail_ok" style="width:225px;margin:auto">
				<div class="alert alert-success" role="alert">Votre mail à bien été envoyé !</div>
			</div>

			<?php
		}
	}
	else {
		echo '<p class="contact_error">Vous n\'avez pas saisi correctement les informations de contact !</p>';
		header("location=contact.php");
	}
}


Merci de bien vouloir m'aider dans mes recherches :)
PS : les "MONMAIL" sont juste là pour ne pas divulguer mes informations.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

11 oct. 2014, 01:20

salut,

pour l'upload il y a un tuto la.
tu peux aussi utiliser la classe de AB faq-tutoriels/telechargement-fichier-av ... 53523.html

il y a un exemple complet de ce que tu veux dans la doc de la fonction mail http://fr2.php.net/manual/fr/function.mail.php#83491

Sinon une classe comme phpmailer peux te mâcher le boulot ;)

@+
Il en faut peu pour être heureux ......