envoi de fichier joint avec formulaire impossible

K
kid75
Guest
Bjr,
Moi j'ai vraiment besoin que mes visiteurs envoi leur photo en pièce jointe mais je n'arrive pas à activer la fonction?
Voici mon formulaire:http://membres.lycos.fr/kapitolprod/formulaire2.php

Mes 2 fichiers formulaire et envoi

Formulaire:
Code:
<html>
<head>
<script language="javascript">
<!--
function verif2(mail) {
var arobase = mail.indexOf("@")
var point = mail.lastIndexOf(".")
if((arobase < 2)||(point + 2 > mail.length)||(point < arobase+2)) 
{ 
alert("Email absent ou erroné !");
document.formulaire.mail.focus();
return false;
}
else 
{ 
if (formulaire.nom.value=="")
{
alert("Veuillez remplir le champ Nom");
document.formulaire.nom.focus();
return false;
}
else
{
if (formulaire.prenom.value=="")
{
alert("Veuillez remplir le champ Prenom");
document.formulaire.prenom.focus();
return false;
}
else
{
return true 
}
}
}
}
}

//-->
</script>

</head><body bgcolor="#99CCFF"><form name="formulaire" method="post" action="envoi.php" onSubmit="return verif2(this.mail.value)" ENCTYPE="multipart/form-data"> 
<td><table width="100%" height="305" border="0" bordercolor="#FF0000"> 
<tr> 
<td height="49" colspan="4"><p align="center"></p> 
<p align="center"><font color="red"><strong><em><u>ENTREZ 
VOS INFORMATIONS CI-DESSOUS:</u></em></strong></font></p> 
</td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Nom :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><="text" name="nom"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Prénom :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><="text" name="prenom"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Email :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><input name="mail" type="text" size="40"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Vos photos :</b> <font color="#FF0000">*</font></div></td> 
<td><="file" name="photos" size="40" MAXLENGTH="80">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="30000">
</td> 
<td></td> 
</tr> 
<tr> 
<td colspan="4"><div align="center"><font color="#FF0000">* <font color="#000000" size="1" face="Arial, Helvetica, sans-serif">A 
completer pour envoyer !</font></font></div></td> 
</tr> 
<tr> 
<td width="14%"><div align="center"> </div></td> 
<td colspan="2"><hr></td> 
<td width="12%"></td> 
</tr> 
<tr valign="bottom"> 
<td height="37" colspan="2"><div align="right"><b>Age :</b></div></td> 
<td colspan="2"><b>18-25 
<="radio" name="1" 1 value="18-25"> 25-35 
<="radio" name="1" 2 value="25-35"> +35 
<="radio" name="1" 3 value="+35"></b></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Je suis :</b></div></td> 
<td colspan="2"><b>amateur : 
<="radio" name="2" 1 value="amateur">semi-professionnel 
: 
<="radio" name="2" 2 value="semi-professionnel"></b></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>J'accepte des scènes ( </b><A 
onclick="window.open('note.html','Info','resizable=no, toolbar=no, location=no, status=no, menubar=no, width=750, height=300';return(false)" 
href="note.html"><b>note</b></A><b>) :</b></div></td> 
<td colspan="2"><b>solo : 
<="radio" name="3" 1 value="solo">avec 1 partenaire 
: 
<="radio" name="3" 2 value="avec 1 partenaire"> groupe 
: 
<="radio" name="3" 3 value="groupe"></b></td> 
</tr> 
<tr> 
<td width="14%"><div align="center"> </div></td> 
<td colspan="2"><hr></td> 
<td width="12%"></td> 
</tr> 
<tr valign="middle"> 
<td height="50" colspan="4"> <div align="center"> 
<="reset" name="Submit2" value="Effacer"> 
<="submit" name="Submit" value="Envoyer"> 
</div></td> 
</tr> 
</table></td> 
</tr> 
</table> 
</form> 
</body> 
</html>

envoi:
Code:
<body bgcolor="#99CCFF">
<p align="center"></p>
<p align="center"></p>
<p align="center"></p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<div align="center">
<table width="41%" height="140" border="1">
<tr>
<td><div align="center">
<p><b>VOS INFORMATIONS <br>
<br>
ONT BIEN ETE ENVOYEES.</b> </p>
<p><b>Merci.</b></p>
</div></td>
</tr>
</table>
</div>

<p></p>
<p></p>
<p>                                                                                       <INPUT TYPE=button NAME=Bouton VALUE=" Retour " 
onclick="document.location.href='http://kapitolprod.maisonx.com/page1.html'"></p>
<div align="center">

<?php
if ($_FILES['vos photos']['size'] > 30000){ 
// Traitement de l'erreur 
} 
mail("kapitolprod@netcourrier.com","Formulaire de reponse",
"Formulaire de reponse:\n
Nom : ".$_POST['nom']."
Prenom : ".$_POST['prenom']."
Mail : ".$_POST['mail']."
Age : ".$_POST['1']."
Je suis : ".$_POST['2']."
J'accepte des scenes : ".$_POST['3']."
");
?>
</div>

Merci de me filer un petit coup de pouce :wink:
 
K
kid75
Guest
Non mais je vous demande pas de me juger,j'ai juste besoin d'aide (x ou pas d'ailleur),
j'ai modifié mes fichiers mais toujours pas d'envoi avec pièce jointe,je vous remets mes fichiers:

Formulaire


."
Code:
<script language="javascript"> 
<!-- 
function verif(mail) 
{ 
var arobase = mail.indexOf("@") 
var point = mail.lastIndexOf(".") 
if((arobase < 2)||(point + 2 > mail.length)||(point < arobase+2)) 
{ 
alert("Email absent ou erroné !"); 
document.formulaire.mail.focus(); 
return false; 
} 
else 
{ 
if (formulaire.nom.value=="") 
{ 
alert("Veuillez remplir le champ Nom"); 
document.formulaire.nom.focus(); 
return false; 
} 
else 
{ 
if (formulaire.prenom.value=="") 
{ 
alert("Veuillez remplir le champ Prenom"); 
document.formulaire.prenom.focus(); 
return false; 
} 
else 
{ 
if (formulaire.photos.value=="") 
{ 
alert("Veuillez sélectionner votre fichier"); 
return false; 
} 
else 
{ 
return true 
} 
} 
} 
} 
} 

//--> 
</script> 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head><body bgcolor="#99CCFF"> 
<form action="envoi.php" method="POST" enctype="multipart/form-data" name="formulaire" onSubmit="return verif(this.mail.value)"> 
<='hidden' name='dest' value='logicmaison@hotmail.com'> 
<='hidden' name='formulaire' value='Formulaire envoye avec un fichier à Kapitolprod'> 
<='hidden' name='titre' value="Formulaire de Kapitolprod"> 
<='hidden' name='sujet' value="Envoi de coordonnées"> 
<td><table width="100%" height="305" border="0" bordercolor="#FF0000"> 
<tr> 
<td height="49" colspan="4"><p align="center"></p> 
<p align="center"><font color="red"><strong><em><u>ENTREZ 
VOS INFORMATIONS CI-DESSOUS:</u></em></strong></font></p> 
</td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Nom :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><="text" name="nom"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Prénom :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><="text" name="prenom"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Email :</b> <font color="#FF0000">*</font></div></td> 
<td colspan="2"><input name="mail" type="text" size="40"></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Vos photos :</b> <font color="#FF0000">*</font></div></td> 
<td><=file name="photos" size="40" MAXLENGTH="80"> 
</td> 
<td></td> 
</tr> 
<tr> 
<td colspan="4"><div align="center"><font color="#FF0000">* <font color="#000000" size="1" face="Arial, Helvetica, sans-serif">A 
completer pour envoyer !</font></font></div></td> 
</tr> 
<tr> 
<td width="14%"><div align="center"> </div></td> 
<td colspan="2"><hr></td> 
<td width="12%"></td> 
</tr> 
<tr valign="bottom"> 
<td height="37" colspan="2"><div align="right"><b>Age :</b></div></td> 
<td colspan="2"><b>18-25 
<="radio" name="1" 1 value="18-25"> 25-35 
<="radio" name="1" 2 value="25-35"> +35 
<="radio" name="1" 3 value="+35"></b></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b>Je suis :</b></div></td> 
<td colspan="2"><b>amateur : 
<="radio" name="2" 1 value="amateur">semi-professionnel : 
<="radio" name="2" 2 value="semi-professionnel"></b></td> 
</tr> 
<tr> 
<td colspan="2"><div align="right"><b> 
J'accepte des scènes </b>( <A onclick="window.open('note.html','Info','resizable=no, toolbar=no, location=no, status=no, menubar=no, width=750, height=300');return(false)" 
href="note.html"><b>note</b></A><b> ) :</b></div></td> 
<td colspan="2"><b>solo : 
<="radio" name="3" 1 value="solo">avec 1 partenaire : 
<="radio" name="3" 2 value="avec 1 partenaire"> groupe : 
<="radio" name="3" 3 value="groupe"></b></td> 
</tr> 
<tr> 
<td width="14%"><div align="center"> </div></td> 
<td colspan="2"><hr></td> 
<td width="12%"></td> 
</tr> 
<tr valign="middle"> 
<td height="50" colspan="4"> <div align="center"> 
<="reset" name="Submit2" value="Effacer"> 
<="submit" name="Submit" value="Envoyer"> 
</div></td> 
</tr> 
</table></td> 
</tr> 
</table> 
</form> 
</body> 
</html>



et mon fichier envoi.php



Code:
<body bgcolor="#99CCFF"> 
<div align="center"> 
<p> </p> 
<p> </p> 
<table width="41%" height="140" border="1"> 
<tr> 
<td><div align="center"> 
<p><b>VOS INFORMATIONS <br> 
<br> 
ONT BIEN ETE ENVOYEES.</b> </p> 
<p><b>Merci.</b></p> 
</div></td> 
</tr> 
</table> 
</div> 
<div align= center> 
<p><INPUT TYPE=button NAME=Bouton VALUE=" Retour " 
onclick="document.location.href='http://kapitolprod.maisonx.com/page1html'"> 
</p></div> 
<? 

$name_file = $_FILES['photos']['name']; 
$source=$_FILES['photos']['tmp_name']; 

move_uploaded_file($source, "./".$name_file); 

$extension=get_extension($name_file); 

$type="text/plain"; 
if($type=="doc") 
{ 
$type="text/vnd.ms-word"; 
} 
else if($type=="xls") 
{ 
$type="text/vnd.ms-excel"; 
} 

$type2="image/png"; 

if($extension=="gif") 
{ 
$type2="image/gif"; 
} 
else if($extension=="bmp") 
{ 
$type2="image/bmp"; 
} 

function get_extension($filename) 
{ 
$parts = explode('.',$filename); 
$last = count($parts) - 1; 
$ext = $parts[$last]; 
return $ext; 
} 

if($_POST['dest']!="") 
{ 
$boundary = "-----=".md5(uniqid(rand())); 
$header = "MIME-Version: 1.0\r\n"; 
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$header .= "\r\n"; 

$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n"; 

$msg .= "--$boundary\r\n"; 

$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n"; 
$msg .= "Content-Transfer-Encoding:8bit\r\n"; 
$msg .= $_POST['formulaire']; 
$msg .= "\r\n"; 
$msg .= "\r\n"; 
$msg .= Nom__.$_POST['nom']; 
$msg .= "\r\n"; 
$msg .= Prenom__.$_POST['prenom']; 
$msg .= "\r\n"; 
$msg .= Mail__.$_POST['mail']; 
$msg .= "\r\n"; 
$msg .= Age__.$_POST['1']; 
$msg .= "\r\n"; 
$msg .= Je_suis__.$_POST['2']; 
$msg .= "\r\n"; 
$msg .= Accepte_les_scènes__.$_POST['3']; 
$msg .= "\r\n"; 

if($name_file!="") 
{ 
$file = $name_file; 
$fp = fopen($file, "rb"); 
$attachment = fread($fp, filesize($file)); 
fclose($fp); 

$attachment = chunk_split(base64_encode($attachment)); 

$msg .= "--$boundary\r\n"; 
$msg .= "Content-Type: $type2; name=\"$file\"\r\n"; 
$msg .= "Content-Transfer-Encoding: base64\r\n"; 
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n"; 
$msg .= "\r\n"; 
$msg .= $attachment . "\r\n"; 
$msg .= "\r\n\r\n"; 
$msg .= "--$boundary--\r\n"; 
} 

$destinataire = $_POST['dest']; 
$expediteur = $_POST['titre']; 

mail($destinataire, $_POST['sujet'], $msg, 
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header); 

} 

if($name_file!="") 
{ 
unlink($name_file); 
} 

?>.


et mon formulaire http://membres.lycos.fr/kapitolprod/formulaire2.php

Simplement un message après l'envoi:
"nullmailer-inject: Invalid header line: Reply-To: Unable to parse the addresses."
 
WRInaute accro
Ils ne jugent pas. Ils se posent juste des questions concernant ce passage des règles du forum :

si votre site est un site adulte, raciste, portant atteinte aux droits des tiers ou ne correspondant pas à nos valeurs, nous vous demandons de ne pas mettre son URL dans votre profil, et de ne pas discuter de votre site dans les discussions...
 
K
kid75
Guest
herveG a dit:
si votre site est un site adulte, raciste, portant atteinte aux droits des tiers ou ne correspondant pas à nos valeurs, nous vous demandons de ne pas mettre son URL dans votre profil, et de ne pas discuter de votre site dans les discussions...

Il me semble que je n'ai pas donner l'url de mon site et que j'expose uniquement un problème?Si vous ne souhaitez pas m'aider mais polémiquer alors c'est différent on peux en faire 63 des posts pour rien résoudre?
 
Olivier Duffez (admin)
Membre du personnel
parenthèse : c'est génial sur Lycos avec Firefox, la pub envahissante ne part pas, même en attendant la fin de l'animation...
quelle drôle d'idée de rester sur un hébergement de ce type...

sinon kid75, ne dis pas "j'ai juste besoin d'aide (x ou pas d'ailleur)" car ce forum n'est pas fait pour discuter de sites X. Tant qu'on reste sur la technique des formulaires, y'a pas de pb.

pour ma part je ne m'investis que très rarement à répondre à un nouveau qui pour son premier message poste de très nombreuses lignes de code, sans autre explication. Tout simplement parce que cela ne se fait pas... On demande un peu plus de tact SVP ;-)
 
K
kid75
Guest
The Jedi a dit:
Et en fait qu'est ce qui ne marche pas ? Parce qu'à vue d'oeil ça m'a pas l'air foireux.

Merci de t'intéresser à mon cas,toi au moins tu ne cherches pas à me juger,en fait après remplissage du formulaire j'obtiens bien ma pas réponse:"VOS INFORMATIONS ONT BIEN ETE ENVOYEES.Merci."
Mais avec en plus cette ligne qui s'incrit sur ma page:"nullmailer-inject: Invalid header line: Reply-To: Unable to parse the addresses."
Et surtout toujours pas de mail ni de photo sur mon mail?
 
WRInaute passionné
parenthèse : c'est génial sur Lycos avec Firefox, la pub envahissante ne part pas, même en attendant la fin de l'animation...
quelle drôle d'idée de rester sur un hébergement de ce type...
Ah d'accord... ca me le fait aussi... [troll]Sinon, quelle drôle d'idée de payer pour de l'hébergement :wink:, surtout pour des newbies comme il y en a sur des services de pages perso. Et meme pour les pros, ca permet de tester un site... Ayant connu les débuts, les termes "internet" et "payer" me semblent toujours contradictoires (un peu moins).[/troll]
Pour le formulaire, essaie peut-etre de voir s'il marche sur un serveur pro sans la pub Lycos pour le faire foirer... Et sur le fond, un peu pareil que ci-dessus: 'pas une marchandise...
 
WRInaute impliqué
Ce message, c'est normal que tu le vois car tu l'affiches avant d'avoir exécuté le script ;)

Pour l'erreur du mail, visiblement ça cloche au Reply-to. Quand tu fais tes tests, la variable $reponse vaut quoi ? Il me semble que c'est la seule que t'aies pas récupéré depuis $_POST['reponse']. Puis vu que tu fais rien de particulier avec les autres, tu peux même faire directement :

Code:
mail($_POST['destinataire'], $_POST['sujet'], $msg, "Reply-to: {$_POST['reponse']}\r\nFrom: {$_POST['expediteur']}\r\n".$header);
 
K
kid75
Guest
The Jedi a dit:
Ce message, c'est normal que tu le vois car tu l'affiches avant d'avoir exécuté le script ;)

Que dois-je faire alors,pour ne plus avoir ce message?
@+ :?
 
WRInaute accro
kid75 a dit:
herveG a dit:
si votre site est un site adulte, raciste, portant atteinte aux droits des tiers ou ne correspondant pas à nos valeurs, nous vous demandons de ne pas mettre son URL dans votre profil, et de ne pas discuter de votre site dans les discussions...

Il me semble que je n'ai pas donner l'url de mon site et que j'expose uniquement un problème?Si vous ne souhaitez pas m'aider mais polémiquer alors c'est différent on peux en faire 63 des posts pour rien résoudre?

J'ai du mal à croire que

h**p://kapitolprod.maisonx.com/page1.html

ne soit pas une URL X... mais je peux me tromper après tout....
 
WRInaute impliqué
kid75 a dit:
The Jedi a dit:
Ce message, c'est normal que tu le vois car tu l'affiches avant d'avoir exécuté le script ;)

Que dois-je faire alors,pour ne plus avoir ce message?
@+ :?

Je t'ai déjà donné la marche à suivre dans le même message ;) essaie et dis moi.

Mais pour expliquer en détail, regarde.
1) tu envoies ton formulaire à envoi.php
2) logiquement la page envoi.php est affichée ligne par ligne (au fur et à mesure quoi) donc, tout le texte apparait, DONT le message comme quoi c'est envoyé (normal c'est écrit en "dur")
3) vers la fin de ta page c'est ton script PHP qui s'enclanche

Conclusion : t'auras ton messages quoiqu'il arrive, même si t'as pas PHP sur ton ordi ^^ elle est pas belle la vie ?

Le mieux c'est de ne pas afficher ce message en haut de page mais d'y mettre ton code PHP. En changeant comme ça :

Code:
$envoi = @mail (......);

//mail correctement envoyé
if( $envoi )
{ echo "Mail bien envoyé et tout le blabla que tu veux"; }
//là maintenant si ce n'est pas bon, il y a une erreur quelque part
//pense à enlever le @ pour voir le message d'erreur s'afficher
else{ echo "Problème lors de l'envoi"; }

Tu peux faire le if() n'importe où APRES avoir envoyé le mail ce qui te faciliteras la tâche.
 
Discussions similaires
Haut