formulaire de contact php avec pièces jointes

  • Auteur de la discussion Auteur de la discussion cybereco
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Avec le code ci-après d'un formulaire de contact php, la pièce jointe n'est pas transférée avec le reste du mail.

Un peu d'aide me serait bien utile.
Merci

Code:
<?php

// Initialise les variables
$erreur = NULL;
$info = NULL;

if(!empty($_POST)){

	extract($_POST);
	$valid=true;
	if($adresse!=""){
	}
	else{}
	if(empty($nom)){
		$valid=false;
		$erreurnom="Vous n'avez pas indiqué votre nom";
}

	if(empty($prenom)){
		$valid=false;
		$erreurprenom="Vous n'avez pas indiqué votre prénom";
}

if(empty($email)){
		$valid=false;
		$erreuremail="Vous n'avez pas indiqué votre adresse email";
}

if(empty($objet)){
		$valid=false;
		$erreurobjet="Vous n'avez pas indiqué l'objet de votre message";
}

if(empty($message)){
		$valid=false;
		$erreurmessage="Vous n'avez pas indiqué votre message";
}
	
	 if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)){
		
		$nom = htmlentities(addslashes($nom));
		
		$email = htmlentities(addslashes($email));
		$message = htmlentities(addslashes($message));
		$message = 'Nom : '.$nom.' Prenom : '.$prenom.' '."\n".' Email : '.$email.' '."\n".' Message : '.$message.'';
		$sujet = 'Objet: '.$objet.'';
		$destinataire = "contact@monsite.fr";
		
		$boundary = "_".md5 (uniqid (rand())); 

  		$attached_file = file_get_contents($file_name); //file name ie: ./image.jpg 
 	    $attached_file = chunk_split(base64_encode($attached_file)); 

 		$attached = "\n\n". "--" .$boundary . "\nContent-Type: application; name=\"$file_name\"\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=\"$file_name\"\r\n\n"				.$attached_file . "--" . $boundary . "--"; 
  
  $headers = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
		
		$headers .="From: $prenom $nom <$email>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
		$body = "--". $boundary ."\nContent-Type: text/plain; charset=ISO-8859-1\r\n\n".$message . $attached;
		
		$message = stripslashes($message);
		$nom = stripslashes($nom);
		if(mail($destinataire,$sujet,$message,$headers));
		
		$info = 'Votre message à été envoyé';
		
		
		
		unset($_POST);
		unset($message);
		unset($objet);
		unset($email);
		unset($nom);
		unset($prenom);
	
	}
	else{
		$erreur = 'Votre adresse email est invalide';
	}


}
else {
	$erreur = 'Veuillez remplir tous les champs obligatoires *';
	
}
?>
<!DOCTYPE html>
<!--[if lt IE 9]><html lang="fr-FR" class="oldie"><![endif]-->
<!--[if (gte IE 9) | !(IE)]><!--><html lang="fr-FR" class="modern"><!--<![endif]-->
<head>
<meta charset="iso-8859-1" />
</head>
  <form method="post" id="formulaire_contact" target="">
		
		<fieldset>
		<h2> Formulaire de contact</h2>
        <span style="color:red"> <?php echo $erreur; ?></span><span style="color:green"> <?php echo $info; ?></span><br><br>
		<label for="pseudo">Votre Nom* : <span style="color:red" id="error-message"><?php if(isset($erreurnom)) echo $erreurnom;?></span> </label><input type="text" name="nom" id="nom" size="43" maxlength="50" value="<?php if(isset($nom)) echo $nom; ?>"/><br/>
		<label for="pseudo">Votre Prenom* : <span style="color:red" id="error-message"><?php if(isset($erreurprenom)) echo $erreurprenom;?></span></label><input type="text" name="prenom" id="prenom" size="43" maxlength="50" value="<?php if(isset($prenom)) echo $prenom; ?>"/><br/>
        
        <input type="text" name="adresse" id="adresse"/>
        
		<label for="email">Email* : <span style="color:red" id="error-email"><?php if(isset($erreuremail)) echo $erreuremail;?></span></label><input type="text" name="email" id="email" size="43" maxlength="50" value="<?php if(isset($email)) echo $email; ?>"/><br/>
		<label for="site">Objet* : <span style="color:red" id="error-message"><?php if(isset($erreurobjet)) echo $erreurobjet;?></span></label><input type="text" name="objet" id="objet" size="43" maxlength="50" value="<?php if(isset($objet)) echo $objet; ?>" /><br/>
		<label for="message">Message* : <span style="color:red" id="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage;?></span></label><textarea name="message" id="message" cols="60" rows="10"  ><?php if(isset($message)) echo $message; ?></textarea><br/><br/>
		
                  <label for="fichier"><strong>Pièce Jointe:</strong></label>
                  <span class="small">(<span style="color: #FC0000; font-size: 10px;">max. 1MB</span>)</span></td>
                  <td>
                   <input type="hidden" name="max_file_size" value="2097152" />
			       <input type="file" name="datei" size="32" maxlength="500" class="eingabe" />
				  </td>
                <br><br>
		<input type="submit" value="Envoyer"/>
        
        <input type="text" name="adresse" id="adresse"/>
        
		</fieldset>
		</form>
        
         </div>  
         </body>
</html>
 
Discussions similaires
Haut