problème de formulaire qui envoit des fichiers
Forum Programmation : problème de formulaire qui envoit des fichiers
Bonjour, j'ai un formulaire qui envoit les données inscrites sur la page à mon courrier, jusqu'a la, tout marche bien, mais là, j'essais de mettre un champ fichier (file field)
Code :
|
je reçois le email avec les données inscrites, mais pas le fichier que j'y ai mit, pourquoi, qu'est-ce que j'ai fais qui ne serait pas bien ?
Tu dois joindre le fichier (il faut que php le detecte) phpfrance.com
salut je crois qu'il faut faire ca:
Code :
|
il faut mettre la ligne enctype
voila
voila mon script, mais ca ne fonctionne pas, je recois la confirmation que ca été envoyé, mais je ne recois rien
Code :
|
si j'ai compris tu veux recevoir un contact mail c'est sa ??? bon tu peux faire comme sa :
page 1 :
<html>
<HEAD>
<TITLE>Easyform 1.0</TITLE>
</HEAD>
<BODY>
<?PHP include("form.php" ); ?>
</BODY>
</html>
page : 2 nomme la : form.php lol si tu veux haha
/*
*************************************************************************************
* EasyForm 1.0.2 *
*************************************************************************************
* Auteur : AMOUZOU Amen Wenceslas alias amen0phis, www.amouzou.org *
* Copyright : Cette application est gratuit; *
* envoyez moi juste un mail à amouzou_amen@yahoo.fr pour me faire plaisir *
*************************************************************************************
* Nom du fichier formMoteur.php *
* Date de création : 18 Février 2005 *
* Date de modification : 19 JUIN 2005 *
************************************************************************************/
//=========================DEBUT CONFIGURATION======================================
$nb_chp_imput = 4; // Le nombre de champ INPUT (champ de texte)
$nb_chp_textarea = 1; //Le nombre de zone de texte
$tb_etiquette = array("Nom","Ville","E-Mail","Objet","Message" ); //Liste des étiquettes des champs dans cet ordre! Echappez d'éventuels griffes <<">> avec <<\>> dans les libellés
$email_dest = "ADRESSE MAIL"; //adresse email où les données collectées iront
$email_objet = "Formulaire de contact 1.0";
$site_url = "NOM SITE"; //adresse du site
$couleur1 = "#E7E7E7"; //Couleur d'alternance 1 des lignes dans le tableau
$couleur2 = "#DDDDDD"; //Couleur d'alternance 2 des lignes dans le tableau
$tab_bordure = 0; // La bordure du tableau
//===========================FIN CONFIGURATION================================//
if($nb_chp_imput==0){
echo "<center>Pour utiliser EasyForm, spécifiez au moins un champ input dans le fichier formMoteur.php; changer la valeur 0 de la variable \$nb_chp_imput</center>";
exit;
}
// Nous allons créer le formulaire nécessaire
$form_out_put = "\n<BR/><BR/><form name='form1' action='".$_SERVER['PHP_SELF']."' method = 'POST'>\n";
$form_out_put .= "<table align='center' width='50%'>\n";
$cpt = 1; //Ce compteur va ous permettre l'alternance des couleurs dans le tableau
for ($i=0; $i<$nb_chp_imput+$nb_chp_textarea; $i++) {
$couleur = ($cpt%2)? $couleur1 :$couleur2;
$form_out_put .= "<tr bgcolor='$couleur'><td width='30%' valign='top' align='right'>";
if (!isset($tb_etiquette[$i])) $tb_etiquette[$i] = "ETIQUETTE NON DEFINIE";
$form_out_put .= " <b>$tb_etiquette[$i] :</b> </td><td>";
//Si nous sommes sur les input
if ($i<$nb_chp_imput) {
$form_out_put .= "<input name='field[]' type='text' size='32' ";
if(isset($field)) $form_out_put .= "value='$field[$i]' />";
$form_out_put .= "</td></tr>\n";
}else{
if ($i<$nb_chp_textarea+$nb_chp_imput) {
$form_out_put .= "<TEXTAREA name='field[]' rows='7' cols='28'>";
if(isset($field)) $form_out_put .= $field[$i];
$form_out_put .= "</TEXTAREA></td></tr>\n";
}
}
$cpt++;
}
$form_out_put .= "<tr><td align='right'><input type=submit value=Envoyer /></td><td><input type=reset value='Tout effacer' /></td></tr>";
$form_out_put .= "<tr><td colspan=2 align=center>Contact Mail <A href='mailto:TON ADRESSE MAIL'>NOM DU SITE</A>\n<br><br></td></tr>";
$form_out_put .= "</table>\n";
$form_out_put .= "<input type=hidden name=envoi value=1/>";
$form_out_put .= "</form>";
// nOus allons recueillir et traiter le formulaire
//Nous supposons dans cette première mouture que tous les champs seront obligatoires
$message = NULL;
$headers = NULL;
if (!isset($_POST["envoi"])) {
//eventuel message
}else {
$champ = $_POST["field"];
if (in_array("", $champ)){
$text_put_alert = "<center><span class='alert'>Tous les champs sont obligatoires \n<br></span></center>";
}else{
//Traitement si tout est bon
//Les valeurs sont contenues dans le tableau $champ
//Pour atteindre une valeur, $champ[x] , xétant l'index de l'élément dans la définition des étiquettes
$message .= "Ce mail provient du formulaire d'envoi du site <b>$site_url</b>";
$message .= "<hr>";
while(list($index,$valeur) = each($champ)){
$message .= "\n<br>- $tb_etiquette[$index] : <b>$valeur</b> ";
}
$message .= "<HR>Contact Mail est écrit par <a href=mailto:Valdrin_15@msn.com>Valdrin</a>\n
";
$message .= "In Form, We Trust!";
$headers .= "From: EasyForm \n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$envoi_mail = @mail($email_dest, $email_objet, $message, $headers);
if($envoi_mail ==true) {
$text_put_confirm = "<center><span class='confirm'>Votre envoi a abouti avec succès \n<br></span></center>";
}else{
$text_put_alert = "<center><span class='alert'>Désolé! Le mail n'a pas pu être envoyé \n<br/>Le moteur SMTP est down \n<br></span></center>";
}
}
}
/*APPEL DU FORMULAIRE*/
if(isset($text_put_alert)) echo $text_put_alert;
if(isset($text_put_confirm)) echo $text_put_confirm;
echo $form_out_put;
?>
en résumé ce que je veux c'est pouvoir aller sur ma page, cliquer sur parcourir, aller chercher un fichier et que ca me l'envoit a mon email
ex:, je vais sur mon site, je dit je veux envoyer ce petit shareware de ma job et me l'envoyer a mon email (2go d'espace) sans avoir a passer par outlook ou d'autre programme, simplement par le navigateur
je suis capable de recevoir l'email, avec le contenu text, mais pas le fichier...
j'utilise FILE SEND
mais le fichier ne se rend pas...
j'ai pas tous compris tu veux upload un fichier puis l'envoyé par mail c'est sa ???? ou bien tu veux carrément faire une sorte de client mail style msn , gmail etc ... ??????
un peu comme geocities
tu va chercher un fichier sur ton ordinateur pour l'envoyer sur le serveur, mais moi au lieu d'aller sur le serveur, il va dans ma boite a lettre gmail
ex : a la job , fichier.jpg
envoyer a fff@gmail.com
fichier recu a fff@gmail.com...
le fichier doit passer par le serveur de toute façon.
le problème c'est que les gros fichiers passeront pas.
je ne connais pas la commande pour joindre un fichier à un mail mais je peux te proposer une alternative :
tu peux sotcker le fichier sur ton serveur dans un répertoire temporaire, et tu envoies le lien par e-mail, ensuite tu auto-détruit ton fichier au bout de x jours.
je ne veux pas mettre ca sur un serveur, car je veux que mes visiteurs puissent m'envoyer des fichiers, certains sont vieux et ne connaissent pas ces sites là de stockage, donc je veux quelque chose qui est simple, sauf que c'est ca... ca ne fonctionne pas comme je veux
je recois tout, sauf le $"/(*"/$ fichier
au pire avez vous des scripts déja tout fait pour envoyer ca (file send, ou file attachment)
merci
Docteur du pc
ouaaaaaa C compliqué.
| Citation :
|
lol moi j'en utilise un , je les trouver ici c'est un scripts mail avec pièce jointe donc tu mail tu met le fichier et tu l''envoy par mail
merci WindowsMaster
le script fonctionne a merveille pour une photo de 129 ko, il ne me reste plus qu'a essayer des gros fichiers de plus de 40 mo :-D
Mais 2 rien une dernière chose du peux changer pour la taille MAX que tu peux envoyé moi j'ai mis 99999999999999999999999999999999999999999999999999999999999999999999999999999999 alor je peux envoyé combien je veux ! :-D
il y a juste un petit problème, j'arrive à envoyer des photos jpeg et jpg ainsi que des fichiers excel, mais pas de .exe ni de .zip
ou est-ce que je peux dire toutes les extensions permises ?
WindowMaster, tu sais tu ou est-ce que je peux dire tout les fichiers que je veux envoyer (.zip / .rar / .exe / etc...)
car j'ai beau chercher dans les fichiers du répertoire et je ne trouve pas...
non dsl je sais pas comment en ajouter les extions mais il doit y avoir une ligne avec les noms des extions quand peux envoyé
pourtant j'ai bien regardé, ce que j'ai trouvé c'est augmenter la taille a la place du 500 ko
Il y a 348 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
