× 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
GratuitJeu PC Lifeless Planet: Premier Edition gratuit
Valable jusqu'au 16 Juillet

Epic Game Store offre actuellement le jeu PC  Lifeless Planet: Premier Edition. À la recherche de vie sur une planète lointaine, un astronaute découvre une ville russe à l'abandon. Il suspecte que sa mission ne soit qu'une supercherie jusqu'à ce qu'une mystérieuse jeune femme ne le sauve d'un phénomène étrange et mortel... PEGI 12. Jeu en anglais sous titré français.


> Voir l'offre
35,99 €Clé USB 3.0 SanDisk Ultra Flair 256 Go à 35,99 €
Valable jusqu'au 15 Juillet

Amazon fait une promotion sur la clé USB 3.0 SanDisk Ultra Flair 256 Go qui passe à 36,99 € livrée gratuitement alors qu'on la trouve ailleurs à plus de 55 €.


> Voir l'offre
129 €Sonde de calibration Datacolor SpyderX Pro à 129 €
Valable jusqu'au 16 Juillet

Amazon fait une promotion sur la sonde de calibration Datacolor SpyderX Pro qui passe à 129 € alors qu'on la trouve ailleurs à partir de 179 €. La livraison est gratuite. Cette solution avancée d'étalonnage vous permettra de régler parfaitement les couleurs de votre écran afin d'avoir un rendu le plus fidèle possible.


> 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