× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > 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
89,99 €Disque dur Western Digital Red 4 To à 89,99 €
Valable jusqu'au 04 Décembre

Cdiscount propose actuellement le disque dur Western Digital Red 4 To à 89,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 110 €. Ce disque dur 3.5 pouces SATA III est adapté aux NAS et ordinateurs qui fonctionnent 24h/24.


> Voir l'offre
7,99 €Thermomètre frontal infrarouge à 7,99 €
Valable jusqu'au 04 Décembre

Le vendeur Luckycat propose actuellement sur Amazon le thermomètre frontal infrarouge à 7,99 € livré gratuitement. Il possède un écran LCD qui affiche la température mesurée (entre 32 à 42,9 °C) avec un arrière-plan coloré suivant la température. Fonctionne avec 2 piles AAA (non fournies). Fonctionne également pour l'eau du bain, le lait, etc.


> Voir l'offre
15,99 €SSD PNY CS900 120 Go à 15,99 €
Valable jusqu'au 04 Décembre

Cdiscount fait une promotion sur le SSD PNY CS900 120 Go qui passe à 15,99 €. Ce SSD offre des vitesses d'écriture de 515 Mo/s et de lecture à 550 Mo/s. Il est garanti 3 ans. De quoi donner une seconde jeunesse à un ordinateur un peu ancien.


> 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