> Tous les forums > 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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Amazon Prime Day : 200 000 articles en promotion. Dernier jour !
-1 -%
@Amazon
Les soldes d'été 2025
-1 -%
@Amazon
SSD Interne M.2 NVMe PCIe 4.0 Samsung 990 PRO 4 To
261,24 € 299 € -13%
@Cdiscount
Disque dur externe Western Digital Elements Desktop USB 3.0 16 To
290,66 € 370 € -21%
@Amazon Allemagne
Clé USB C Sandisk Ultra Luxe 1 To (400 Mo/s)
75,10 € 100 € -25%
@Amazon Allemagne
PC portable Lenovo ThinkPad P14S Gen 5 (WUXGA IPS, Ryzen 7 Pro 8840HS, 32 Go RAM, SSD 1 To)
999 € 1499 € -33%
@Lenovo

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