Récupération Pièce Jointe par Mail Formulaire HTML

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération Pièce Jointe par Mail Formulaire HTML

Re: Récupération Pièce Jointe par Mail Formulaire HTML

par xTG » 03 oct. 2010, 18:21

Abstrait ? Bah lis le et tu me rediras si c'est si abstrait que cela...

Re: Récupération Pièce Jointe par Mail Formulaire HTML

par Nyco- » 03 oct. 2010, 17:06

Merci pour le lien !

Je suis pas près d'y arriver par contre, c'est vachement abstrait :oops:

Re: Récupération Pièce Jointe par Mail Formulaire HTML

par xTG » 03 oct. 2010, 13:50

Récupération Pièce Jointe par Mail Formulaire HTML

par Nyco- » 03 oct. 2010, 13:25

Bonjour,

Je débute en PHP et j'ai besoin de gérer les données d'un formulaire HTML pour pouvoir récupérer par mail des données fournies par un utilisateur. Je suis parvenu à récupérer tous les champs (text, textarea, check, list ...) mais je bute sur la récupération de la pièce jointe ... Il s'agira essentiellement (même exclusivement) de photos en format .jpg ou .bmp éventuellement.

Je ne sais pas comment coder mon script pour que la pièce jointe me soit adressée comme le reste des infos.

Si quelqu'un pouvait me donner un coup de main ce serait très sympa :)

Mon script :
<?php

//Définition variables
$msg_erreur = "Attention ! Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
$date = date("d-m-Y" );
$heure = date("H:i" );
$redirection = "redirection.html";

//Destinataire
define('MAIL_DESTINATAIRE','[email protected]');
define('MAIL_SUJET','Demande de publication');

//Vérification champs
if (empty($_POST['Nom']))
$message .= "Nom<br/>";
if (empty($_POST['Prenom']))
$message .= "Prénom<br/>";
if (empty($_POST['Secteur']))
$message .= "Secteur<br/>";
if (empty($_POST['Centre']))
$message .= "Centre<br/>";
if (empty($_POST['Rubrique']))
$message .= "Rubrique<br/>";
if (empty($_POST['Intitule']))
$message .= "Intitulé de l'objet<br/>";
if (empty($_POST['Description']))
$message .= "Description de l'objet<br/>";
if (empty($_POST['Etat']))
$message .= "Etat de l'objet<br/>";
if (empty($_POST['Prix']))
$message .= "Prix<br/>";

//Message d'Erreur si un champ est vide
if (strlen($message) > strlen($msg_erreur)) {

  echo $message;

}

//Sinon poursuite du code
else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Concaténation champ Paiement
$Paiement = $_POST['Paiement'];
$sqlPaiement = '';
for ($i=0; $i<count($Paiement); $i++)
{
$sqlPaiement .= $Paiement[$i];
$sqlPaiement .= ', ';
}

//Concaténation champ Livraison
$Livraison = $_POST['Livraison'];
$sqlLivraison = '';
for ($i=0; $i<count($Livraison); $i++)
{
$sqlLivraison .= $Livraison[$i];
$sqlLivraison .= ', ';
}

//Préparation de l'entête du mail
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['Nom']} ";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

//Préparation du corps du mail
$mail_corps = "DEMANDE DE VALIDATION D'ANNONCE\n\n";
$mail_corps .= "Date : $date\n";
$mail_corps .= "Heure : $heure\n\n";
$mail_corps .= "------------------------------------------\n\n";
$mail_corps .= "Nom : $Nom\n";
$mail_corps .= "Prénom : $Prenom\n";
$mail_corps .= "Secteur-Centre : $Secteur, $Centre\n\n";
$mail_corps .= "------------------------------------------\n\n";
$mail_corps .= "Rubrique : $Rubrique\n";
$mail_corps .= "Intitulé de l'objet : $Intitule\n";
$mail_corps .= "Description : $Description\n";
$mail_corps .= "Etat : $Etat\n\n";
$mail_corps .= "------------------------------------------\n\n";
$mail_corps .= "Prix : $Prix\n";
$mail_corps .= "Moyen de Paiement : $sqlPaiement\n\n";
$mail_corps .= "Autre Paiement : $AutrePaiement\n";
$mail_corps .= "Mode de Livraison : $sqlLivraison\n\n";
$mail_corps .= "Autre Livraison : $AutreLivraison\n";

//Envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

  //Le mail est bien expédié
    echo "<script language=\"javascript\">";
    echo "window.location=('$redirection');";
    echo "</script>";
} else {

  //Le mail n'a pas été expédié
  echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}

?>