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';
}
}
?>
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]<?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';
}
}
?>[/php]