> Tous les forums > Forum Forum des Webmasters
 Formulaire & Pièce Jointe par Mail (HTML/Php)
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Badr3am
  Posté le 09/10/2010 @ 12:35 
Aller en bas de la page 
Petit astucien

Bonjour,

Je sais que le sujet a été abordé dans quelques posts déjà (je les ai consultés) mais je ne parviens pas à venir à bout de mon "souci".

Est-ce que quelqu'un pourrait m'expliquer la logique associée à la prise en charge des pièces jointes dans un formulaire HTLM/JavaScript ?

J'arrive à récupérer les données des zones de texte, des boutons radio et des checks sans problème, mais pour la partie pièce jointe malgré quelques sites d'aide tel que celui-ci : http://www.vulgarisation-informatique.com/mail.php impossible de l'appliquer à mon cas.

Il ne doit rien à avoir de compliqué puisqu'il s'agira uniquement de photos (.jpg), mais je débute en Php et je trouve vite mes limites quand même !

Donc j'ai mon formulaire avec l'input file qui va bien, c'est la gestion au niveau du Php qui pêche, histoire que mon mail réceptionne aussi le fichier photo de l'utilisateur.

Merci d'avance pour votre aide :)

Publicité
qmike549
 Posté le 09/10/2010 à 14:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

bonjour

c'est plutot vers le php associé à une base Mysql que tu dois d'orienter

voir ici

http://michel.vergriete.perso.sfr.fr/php.html

Badr3am
 Posté le 10/10/2010 à 13:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

J'ai modifié mon code, je retourne bien sur ma page de redirection HTML mais je ne reçois aucun mail (alors que j'y parvenais avant d'insérer les lignes dédiées aux pièces jointes), voyez-vous une erreur dans mon code ?

J'ai un doute sur le Nom que l'on donne au fichier, je lui ai donné le même nom que le "name" de l'input file de mon fichier mais je ne suis pas trop sûr de moi sur ce coup ...

Merci d'avance :)


//Définition variables
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :

";
$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','---@--.--');
define('MAIL_SUJET','Demande de publication Annonce');

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

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

//Concaténation champ Livraison
$Livraison = $_POST['Livraison'];
$sqlLivraison = '';
for ($i=0; $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\n";

// Chaine permettant de différencier les différentes parties du mail
$limite = '_parties_'.md5(uniqid (rand()));
$mail_entete .= " boundary=\"----=$limite\"\n\n";


//Préparation du corps du mail
$mail_corps = "------=$limite\n";
$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";

// Traitement pour attacher une PJ

// Lecture fichier
$fichier = 'Photo';
$contenu = file_get_contents($fichier);
$attachement = "\n------=$limite\n";

$attachement .= "Content-Type: text/jpg; name=\"Photo\"\n";
$attachement .= "Content-Transfer-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment; filename=\"Photo\"\n\n";

$attachement .= chunk_split(base64_encode($contenu));


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

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

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


?>



Modifié par Badr3am le 10/10/2010 13:25
Badr3am
 Posté le 10/10/2010 à 19:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Up {#}

Badr3am
 Posté le 14/10/2010 à 16:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bon bah {#}

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Pas de mail recu avec formulaire html et php
fonction mail avec piece jointe
pièce jointe dans formulaire
envoi de photos avec formulaire en pièce jointe
email d un formulaire piece jointe .att [resolu]
Envoi checkbox par mail dans formulaire php
Formulaire de contact html/php
formulaire mail php5
formulaire depuis html vers php et redir html ?
création d'un mail html
Plus de sujets relatifs à Formulaire & Pièce Jointe par Mail (HTML/Php)
 > Tous les forums > Forum Forum des Webmasters