PHP Formulaire avec Pièce jointe
Nico_
Messages postés
1219
Date d'inscription
Statut
Membre
Dernière intervention
-
Nico_ Messages postés 1219 Date d'inscription Statut Membre Dernière intervention -
Nico_ Messages postés 1219 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite intégrer l'envoi de pièce jointe dans mon formulaire, mais je ne sais pas comment !! (il me manque juste tout ce qui conserne le bouton parcourir, et l'envoi)
INFO:
Format de la page du formulaire PHP
Taille de la pièce jonte : jusqu'à 750 Mo
Type de fichiers : tous
le dossier temporaire : upload
Merci pour ceux qui pourrons m'aider.
VOICI LE CODE COMPLET DE LA PAGE:
Je souhaite intégrer l'envoi de pièce jointe dans mon formulaire, mais je ne sais pas comment !! (il me manque juste tout ce qui conserne le bouton parcourir, et l'envoi)
INFO:
Format de la page du formulaire PHP
Taille de la pièce jonte : jusqu'à 750 Mo
Type de fichiers : tous
le dossier temporaire : upload
Merci pour ceux qui pourrons m'aider.
VOICI LE CODE COMPLET DE LA PAGE:
<?php // N'afficher que les erreurs, pas les avertissements... ini_set("error_reporting", "E_ALL & ~E_NOTICE"); // Adresse de réception du formulaire $email_dest = "MON@dresse.mail"; if ($_POST['envoi']) { // E-mail headers: $headers ="MIME-Version: 1.0 \n"; $headers .="From: Recherche <Mon@dresse.mail>\n"; $headers .="Content-Type: text/html; charset=iso-8859-1 \n"; $subject = "Divers"; $partie_entete = "<html><head> <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1> </head> <body bgcolor=#FFFFFF>"; for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) { $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>"; } if ($_POST['nbre_zone_email'] != 0) { $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>"; } if ($_POST['nbre_zones_texte'] != 0) { $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>"; $partie_zone_texte = stripslashes($partie_zone_texte); } $fin = "</body></html>"; $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin; // Send the e-mail if (@!mail($email_dest,$subject,$sortie,$headers)) { echo("Envoi du formulaire impossible"); } else { // Closing if !mail... // Renvoi à la page de remerciement header("Location:http:Merci.html"); exit(); } // Fin du else } // Closing if edit ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- DW6 --> <head> <!-- Copyright 2007 Toute reproduction est interdite. --> <title>Contact pour Mot de passe</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="../independant/mm_training.css" type="text/css" /> <style type="text/css"> <!-- .Style1 { font-size: 36px; font-style: italic; } .Style4 { color: #CC00CC; font-size: 14px; font-family: "Comic Sans MS", "Courier New"; } .Style6 {font-size: 18px} .Style7 {font-size: 13px} .Style14 {color: #0000CC; font-family: "Comic Sans MS", "Courier New"; font-size: 14px; } .Style15 {font-size: 13px; font-family: "Comic Sans MS", "Courier New"; } .Style16 { font-size: 13px; color: #3333CC; font-family: "Comic Sans MS", "Courier New"; } .Style17 {color: #0000CC} .Style18 { font-family: "Comic Sans MS", "Courier New"; font-size: 14px; color: #FF0000; } .Style19 {font-size: 24px} .Style20 {color: #FF3300} --> </style> <script language="JavaScript">function verifSelection() {if (document.mail_form.champ1.value == "") { alert("Tu es qui? Merci !!!") return false } if (document.mail_form.zone_email.value == "") { alert("Je ne pourais pas vous recontactez !!!") return false } invalidChars = " /:,;'" for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters? badChar = invalidChars.charAt(i) if (document.mail_form.zone_email.value.indexOf(badChar,0) > -1) { alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") document.mail_form.zone_email.focus() return false } } atPos = document.mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol if (atPos == -1) { alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } if (document.mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } periodPos = document.mail_form.zone_email.value.indexOf(".",atPos) if (periodPos == -1) { // and at least one "." after the "@" alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } if (periodPos+3 > document.mail_form.zone_email.value.length) { // must be at least 2 characters after the alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') document.mail_form.zone_email.focus() return false }if (document.mail_form.zone_texte.value == "") { alert("Merci de metre le type de fichier par exemple (.doc; ZIP;...)") return false } } // Fin de la fonction </script> </head> <body bgcolor="#64748B"> <table border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#26354A"> <td width="15" nowrap="nowrap"><img src="../independant/mm_spacer.gif" alt="" width="15" height="1" border="0" /></td> <td height="70" colspan="3" align="center" nowrap="nowrap" class="logo Style1 Style19">Infoxp, Contact </td> <td width="8"> </td> <td width="29"> </td> </tr> <tr bgcolor="#FF6600"> <td colspan="6"><img src="../independant/mm_spacer.gif" alt="" width="1" height="4" border="0" /></td> </tr> <tr bgcolor="#D3DCE6"> <td colspan="6"><img src="../independant/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td> </tr> <tr bgcolor="#FFCC00"> <td width="15" nowrap="nowrap"> </td> <td colspan="3" height="24"> <table border="0" cellpadding="0" cellspacing="0" id="navigation"> <tr> <td class="navText" align="center" nowrap="nowrap"><a href="../index.html">ACCUEIL</a></td> <td class="navText" align="center" nowrap="nowrap"><a href="../Sommaire.html">SOMMAIRE</a></td> <td class="navText" align="center" nowrap="nowrap"><a href="../Logiciels.html">LOGICIELS</a></td> <td class="navText" align="center" nowrap="nowrap"><a href="../espace_priver/Sommaire.html">ESPACE PRIVE </a></td> <td class="navText" align="center" nowrap="nowrap"><a href="../cours/Sommaire des cours.php">LES COURS D'ELECTRICITE</a></td> <td class="navText" align="center" nowrap="nowrap"><a href="form.php">CONTACTEZ-NOUS</a></td> </tr> </table> </div></td> <td width="8"> </td> <td width="29"> </td> </tr> <tr bgcolor="#D3DCE6"> <td colspan="6"><img src="../independant/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td> </tr> <tr bgcolor="#FF6600"> <td colspan="6"><img src="../independant/mm_spacer.gif" alt="" width="1" height="4" border="0" /></td> </tr> <tr bgcolor="#D3DCE6"> <td colspan="2" valign="top" bgcolor="#26354A"><img src="../Img/Win_XP.gif" width="228" height="274" /><br /> <table border="0" cellspacing="0" cellpadding="0" width="230"> <tr> <td width="230" class="sidebarText" id="padding"><a href="javascript:;" class="Style20">Nouveau événement ></a><br /> ajout un pack codec gratuit dans la rubrique logiciels <br /> <br /> </td> </tr> </table> <p align="center" class="Style4"><a href="javascript:window.external.AddFavorite('http://infoxp.leobaillard.org')" class="Style20">Ajouter ce site a vos Favoris</a> </p> <p align="center" class="Style4"> </p> <p align="center" class="Style4"></p></td> <td width="50" valign="top"><img src="../independant/mm_spacer.gif" alt="" width="50" height="1" border="0" /></td> <td width="661" valign="top"><p align="center" class="Style6"> </p> <p align="center" class="Style6"><font face="Comic Sans MS" color="#ff0000">AVANT TOUT, MERCI DE LIRE CE QUI SUIT.</font></p> <p><font face="Comic Sans MS" color="#ff00ff" size="4">Voici les fichier, dossier que le logiciel peux traiter:</font></p> <p class="Style7"> <font face="Comic Sans MS">- les fichiers office jusqu'à 2003 compris (Word, Excel, Access, PowerPoint,...)</font></p> <p class="Style7"><font face="Comic Sans MS"> - les dossiers ZIP, RAR</font></p> <p class="Style7"><font face="Comic Sans MS"> - les fichiers 1-2-3</font></p> <p class="Style7"><font face="Comic Sans MS"> - Acrobat (PDF)</font></p> <p class="Style7"><font face="Comic Sans MS"> - Autres: backup, Bestcrypt, IE, lotus note, lotus word pro,money, et d'autres, si votre type de fichier n'est pas dans la "liste" si dessus me le demander par le formulaire si dessous.</font></p> <p class="Style18">Je ne peux plus retrouver les mots de passe sur les fichier money pour le moment, processeur grillé. </p> <p class="Style7"><font face="Comic Sans MS" color="#008080">Votre fichier est au dessus, remplir le formulaire.</font><font face="Comic Sans MS" color="#008080"></font></p> <p class="Style16">Je ne trouve pas mon fichier, remplire le formulaire et décrire, mettre l'extention ce qui est après le point si vous le connaissé. (EX: .db; ...) </p> <form name="mail_form" method="post" action="<?=$_SERVER['../PHP_SELF']?>" onSubmit="return verifSelection()"> <div align="center"></div> <table width="619" border="3" align="center"> <p align="center"></p><tr> <td><span class="Style14">Nom et ou Prénom:</span></td> <td><input name="champ1" type="text"></td> </tr><tr> <td width><span class="Style14">E-Mail:</span></td> <td width><p> <input name="zone_email" type="text"> <strong><span class="Style18"> MERCI DE BIEN VERRIFIER QUE VOTRE ADRESSE EST JUSTE, CAR IL YA BEAUCOUP DE FAUSE ADRESSE. MERCI DE VOTRE ATTENTION.</span></strong></p> </td> </tr><tr> <td valign="top"><span class="Style14">Information concernant le fichier, le dossier:</span></td> <td><textarea name="zone_texte" cols="50" rows="12">Type de fichier: Information le concernant:</textarea></td> </tr><tr> <td height="21" valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1"> <input name="nbre_zones_texte" type="hidden" value="1"> <input name="nbre_zone_email" type="hidden" value="1"> <input name="titre_champ1" type="hidden" value="Nom et ou Prénom:"><input name="titre_email" type="hidden" value="E-Mail:"><input name="titre_zone" type="hidden" value="Information concernant le fichier, le dossier:"></td> <td> </td> </tr> </table> <p align="left" class="Style15"><font color="#3366ff">Les fichiers ne sont pas traiter en ligne, mais directement sur le Pc, merci de ne pas envoyer des fichiers contenant des virus, vers,...</font></p> <p align="left" class="Style15"><font color="#3366ff">Je suis encore étudiant, donc je suis en cours certaines semaines, dès que je reçois votre mail, je vous en renvoi un et vous m'en renvoyer un avec le fichier bloquer.</font></p> <p align="left" class="Style15"><font color="#3366ff">Les délais sont variable, c'est a titre privé que j'essai de rendre service, le contenu des fichiers ne sera en aucun cas divulgué.</font></p> <p align="left" class="Style15"><font color="#3366ff">Il se peux que je ne puisse pas retrouver le mot de passe, me pas m'en vouloir, les logiciels sont très coûteux. Merci de votre compréhension.</font></p> <p align="left" class="Style15"><font color="#3366ff">Dans tout les cas je vous renvois un mail avec ou sans le mot de passe suivant ce qui a été retrouver. </font></p> <p align="left" class="Style15">PS: si aucune réponse, ne pas ésiter a me réécrire, (au bout d'une semaine environ), je ne fais pas de relance dans mes réponses, faire aussi attention que le mail ne soit pas mis dans votre dossier spam/virus/a supprimer/autres.</p> <p align="left" class="Style15"><span class="Style17">Actuellement plus d'école donc réponse dans les deux jours normalement.</span></p> <p align="center" class="Style15"> <input type="reset" name="Reset" value="Effacer" /> <input type="submit" name="envoi" value="Envoyer" /> </p> <div align="center"> <div align="center" class="Style15"><a href="../index.html">Retour Accueil/Annuler </a></div> </div> </form> </td> <td width="8"> </td> <td width="29"> </td> </tr> <tr bgcolor="#D3DCE6"> <td colspan="6"><img src="../independant/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td> </tr> <tr> <td width="15"> </td> <td width="215"> </td> <td width="50"> </td> <td width="661"> </td> <td width="8"> </td> <td width="29"> </td> </tr> </table> </body> </html>
A voir également:
- PHP Formulaire avec Pièce jointe
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Pièce d'identité - Accueil - Services publics
- 1 pièce jointe - Guide
- Formulaire de reclamation instagram - Guide
2 réponses
Salut,
dans un premier temps, le formulaire en lui même :
il va te falloir les champs suivants :
après cela, dans la balise de formulaire, il faut lui dire qu'on fait de l'échange de fichier avec l'option enctype="multipart/form-data". Donc ligne 213, il faut que tu aies ça maintenant :
deuxièmement, le script php :
d'abord récupérer le fichier :
après ça, il faut transformer le fichier pour le passer en pièce jointe. Je te laisse voir là : https://www.vulgarisation-informatique.com/mail.php c'est bien mieux expliqué que ce que ne saurais faire.
dans un premier temps, le formulaire en lui même :
il va te falloir les champs suivants :
<input type="file" name="nomduchamp"> // champ pour aller chercher le fichier <input type="hidden" name="MAX_FILE_SIZE" value="10000000"> // champ caché pour indiquer la taille max du fichier (en octet) // d'autres champs si t'as besoin
après cela, dans la balise de formulaire, il faut lui dire qu'on fait de l'échange de fichier avec l'option enctype="multipart/form-data". Donc ligne 213, il faut que tu aies ça maintenant :
<form name="mail_form" method="post" action="<?=$_SERVER['../PHP_SELF']?>" onSubmit="return verifSelection()" enctype="multipart/form-data">
deuxièmement, le script php :
d'abord récupérer le fichier :
if (is_uploaded_file($_FILES['nomduchamp']['tmp_name'])) { // dans le cas où le fichier a été chargé correctemment dans le répertoire temporaire $nomfichier = $_FILES['nomduchamp']['tmp_name']; // perso, j'aime pas travailler avec des variables superglobales } else { // en cas d'erreur de chargement, on affiche l'erreur echo "erreur de copie : ".$_FILES['nomduchamp']['error']; }
après ça, il faut transformer le fichier pour le passer en pièce jointe. Je te laisse voir là : https://www.vulgarisation-informatique.com/mail.php c'est bien mieux expliqué que ce que ne saurais faire.
Bonsoir,
J'ai essayer les aides de bbar, je le remerci.
Je ne parvient toujours pas a recevoir la pièce jointe.
Si vous pouvez faire un exemple sur le formulaire si dessous Merci d'avance, Bonne soirée
J'ai essayer les aides de bbar, je le remerci.
Je ne parvient toujours pas a recevoir la pièce jointe.
Si vous pouvez faire un exemple sur le formulaire si dessous Merci d'avance, Bonne soirée
<?php $email_dest = "MON ADRESSE"; if ($_POST['envoi']) { // E-mail headers: $headers ="MIME-Version: 1.0 \n"; $headers .="From: ON VEUX ME PARLER<MON ADRESSE>\n"; $headers .="Content-Type: text/html; charset=iso-8859-1 \n"; $subject = "C'EST POUR MOI"; $partie_entete = "<html><head> <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1> </head> <body bgcolor=#FFFFFF>"; for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) { $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>"; } if ($_POST['nbre_zone_email'] != 0) { $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>"; } if ($_POST['nbre_zones_texte'] != 0) { $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>"; $partie_zone_texte = stripslashes($partie_zone_texte); } $fin = "</body></html>"; $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin; // Send the e-mail if (@!mail($email_dest,$subject,$sortie,$headers)) { echo("Envoi du formulaire impossible"); } else { // Closing if !mail... // Renvoi à la page de remerciement header("Location:Merci.html"); exit(); } // Fin du else } // Closing if edit ?><html><head><script language="JavaScript">function verifSelection() {if (mail_form.champ1.value == "") { alert("Tu es qui? Merci") return false } if (mail_form.zone_email.value == "") { alert("Je ne pourrais pas te répondre!!") return false } invalidChars = " /:,;'" for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters? badChar = invalidChars.charAt(i) if (mail_form.zone_email.value.indexOf(badChar,0) > -1) { alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") mail_form.zone_email.focus() return false } } atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol if (atPos == -1) { alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } periodPos = mail_form.zone_email.value.indexOf(".",atPos) if (periodPos == -1) { // and at least one "." after the "@" alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') mail_form.zone_email.focus() return false }} // Fin de la fonction </script></head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()"> <div align="center"></div> <p align="center"> <table width="566" border="0" align="center"> <p align="center"> </p><tr> <td><font face="Verdana" size="2">Mon Prénom</font></td> <td><input name="champ1" type="text"></td> </tr><tr> <td width><font face="Verdana" size="2">Adresse mail</font></td> <td width><input name="zone_email" type="text"></td> </tr><tr> <td valign="top"><font face="Verdana" size="2">info:</font></td> <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td> </tr><tr> <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1"> <input name="nbre_zones_texte" type="hidden" value="1"> <input name="nbre_zone_email" type="hidden" value="1"> <input name="titre_champ1" type="hidden" value="Mon Prénom"><input name="titre_email" type="hidden" value="Adresse mail"><input name="titre_zone" type="hidden" value="info:"></td> <td><div align="center"> <input type="reset" name="Reset" value="Effacer"> <input type="submit" name="envoi" value="Envoyer"> </div></td> </tr> </table> <div align="center"></div> </form></body></html>