> 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 poster des messages. Cliquez ici pour vous identifier.

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


Les bons plans du moment PC Astuces

Tous les Bons Plans
29,99 €Programmateur/Thermostat connecté HEATZY pour radiateur à 29,99 €
Valable jusqu'au 09 Décembre

Amazon fait une promotion sur le programmateur/Thermostat connecté HEATZY pour radiateur qui passe à 29,99 € livré gratuitement au lieu de 49 €. Branchez facilement ce programmateur sur un radiateur électrique (fil neutre sur neutre, fil marron sur phase et fil noir sur fil pilote) et vous pourrez le contrôler avec votre smartphone, créer des zone, des programmations horaires, etc. 


> Voir l'offre
79,83 €Disque dur Toshiba P300 4 To à 79,83 €
Valable jusqu'au 12 Décembre

Cdiscount propose actuellement le disque dur Toshiba P300 4 To à 79,83 €. On le trouve ailleurs à partir de 99 €. Ce disque dur interne de 4 To est SATA 6 Gbps, possède 64Mo de cache et dispose d'une vitesse de rotation de 5400 tpm.


> Voir l'offre
21,89 €Switch Gigabit D-Link 8 ports avec boîtier métal à 21,89 €
Valable jusqu'au 08 Décembre

Amazon propose actuellement le switch Gigabit D-Link DGS-108 8 ports (10/100/1000) avec boîtier métal qui passe à 21,89 €. On le trouve ailleurs à partir de 30 €.


> Voir l'offre

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