Formulaire avec pièce jointe mail

Fermé
Akaton Messages postés 1 Date d'inscription mardi 30 septembre 2014 Statut Membre Dernière intervention 30 septembre 2014 - 30 sept. 2014 à 15:46
loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 - 30 sept. 2014 à 22:14
Bonjour tout le monde,

J'ai un petit problème avec mon formulaire, j'ai fais tous les champs textes et je bute sur le "input type="file", je n'arrive pas à le mettre en place et je comprend pas comment faire.

J'ai lu pleins de trucs mais je suis perdu, j'aimerai deux champs d'importation de fichier qui soient liés au mail.


Voici mon formulaire:
<? if($ok_mail=="true"){ ?>


<span class='txtform'>Le message ci-dessous nous a bien été transmis, merci.</span>
<p> </p>
<tt><?echo nl2br(stripslashes($corps));?></tt>
<p> </p>
<span class='txtform'>Nous allons y répondre le plus vite possible</span>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' enctype="multipart/form-data" name='Form'>
<? if($erreur){ ?><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span>
<ul><?echo$erreur?></ul><?}?>
<p class="txterror"><strong>DEMANDE D'ADHESION A REMPLIR EN LIGNE </strong>
(Les champs marqué d'un <span class="Style1">*</span> sont obligatoires).</p>
<p class="txterror"> </p>
<p > </p>
<p >Raison sociale telle que figurant sur KBis<span class="Style1">*</span> <br />
<input name='f_22' type='text' id="f_22" style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_22);?>' size='60' border='0' />
</p>
<p > </p>
<table width="800px" border="0" bgcolor="#00a0d0">
<tr>
<td>Marques liées à la société <span class="Style1">*</span><br />
<input name='f_222' type='text' id="f_222" style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_222);?>' size='50' border='0' />
<br />
<input name="marque2" type="text" class="input-cont-textarea" id="marque2" size="50" placeholder="" />
<br />
<input name="marque3" type="text" class="input-cont-textarea" id="marque3" size="50" placeholder="" />
<br />
<input name="marque4" type="text" class="input-cont-textarea" id="marque4" size="50" placeholder="" />
<br />
<input name="marque5" type="text" class="input-cont-textarea" id="marque5" size="50" placeholder="" /></td>
<td><br />
<input name="marque6" type="text" class="input-cont-textarea" id="marque6" size="50" placeholder="" />
<br />
<input name="marque7" type="text" class="input-cont-textarea" id="marque7" size="50" placeholder="" />
<br />
<input name="marque8" type="text" class="input-cont-textarea" id="marque8" size="50" placeholder="" />
<br />
<input name="marque9" type="text" class="input-cont-textarea" id="marque9" size="50" placeholder="" />
<br />
<input name="marque10" type="text" class="input-cont-textarea" id="marque10" size="50" placeholder="" /></td>
</tr>
</table>
<p class="txterror"> </p>
<p class="txterror"> </p>
<p class="txterror"><strong>Téléchargement de fichier: </strong></p>
<p class="txterror">
<label>KBIS<span class="Style1">*</span>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type="file" name="file" />
</label>
</p>
<p class="txterror"> </p>
<p class="txterror">
<label>RIB<span class="Style1">.*</span>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type="file" name="file2" />
</label>
</p>
<p class="txterror"> </p>
<p class="txterror"> </p>
<p class="txterror"><strong>Contact</strong></p>
<table width="600" border="0" bgcolor="#00a0d0">
<tr>
<td><span class="txtform" style="margin-right:20px">Civilité<span class="Style1">*</span>:</span></td>
<td><select style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' size='1'>
<? for($id=0;$id<count($list['f_1']);$id++){
if($id==$f_1){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_1'][$id]."</option>");
unset($ct);
}?>
</select></td>
</tr>
<tr>
<td><span class="txtform" style="margin-right:20px">Nom<span class="Style1">*</span>:</span></td>
<td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Prénom<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Adresse<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Code postal<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Ville<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Pays<span class="Style1">*</span> :</span></td>
<td><input name='f_pays' type='text' id="f_pays" style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_6);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Email<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Téléphone<span class="Style1">*</span> :</span></td>
<td><input type='text' style='width:200 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<?echo stripslashes($f_8);?>' size='24' border='0' /></td>
</tr>
<tr>
<td><span class="txtform">Fonction<span class="Style1">*</span> :</span></td>
<td><input name='f_fonction' type='text' id="f_fonction" style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_6);?>' size='24' border='0' /></td>
</tr>
</table>
<p class="txterror"> </p>
<p><br />
<span class='txtform'>Message:</span>
<textarea style='width:360 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' rows='6' cols='50'><?echo$f_9?></textarea>
<br />
<br />
<input type='submit' name='submit' value='Envoyer' border='0'>
</p>
</form>
<? } ?>


Voici mon code PHP:
<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !
$list['f_1']=array("Sélectionnez","Mademoiselle"," Madame"," Monsieur");
if(isset($_POST['submit'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées


$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
$f_22=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_22)));
$f_222=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_222)));
$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
$f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_4)));
$f_5=trim(eregi_replace("[^0-9+]", "", $f_5));
$f_6=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_6)));
$f_7=strip_tags(trim($f_7));
$f_8=trim(eregi_replace("[^0-9\ +]", "", $f_8));

$f_pays=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_pays)));
$f_fonction=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_fonction)));



// Verification des champs

if(strlen($f_22)<2){
$erreur.="<li><span class='txterror'>Le champ « Kbis » est vide ou incomplet.</span>";
$errf_22=1;
}

if(strlen($f_222)<2){
$erreur.="<li><span class='txterror'>Le champ « Marque » est vide ou incomplet.</span>";
$f_222=1;
}

if($f_1==0){
$erreur.="<li><span class='txterror'>Le champ « Civilité » n'a pas été défini.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_2=1;
}


if(strlen($f_3)<2){
$erreur.="<li><span class='txterror'>Le champ « Prenom » est vide ou incomplet.</span>";
$errf_3=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ « Adresse » est vide ou incomplet.</span>";
$errf_4=1;
}
if(strlen($f_5)<2){
$erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>";
$errf_5=1;
}
if(strlen($f_6)<2){
$erreur.="<li><span class='txterror'>Le champ « Ville » est vide ou incomplet.</span>";
$errf_6=1;
}
if(strlen($f_pays)<2){
$erreur.="<li><span class='txterror'>Le champ « Pays » est vide ou incomplet.</span>";
$errf_pays=1;
}
if(strlen($f_7)<2){
$erreur.="<li><span class='txterror'>Le champ « Email » est vide ou incomplet.</span>";
$errf_7=1;
}

if(strlen($f_fonction)<2){
$erreur.="<li><span class='txterror'>Le champ « Fonction » est vide ou incomplet.</span>";
$errf_fonction=1;
}

else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$',
$f_7)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_7=1;
}
}
if(strlen($f_8)<2){
$erreur.="<li><span class='txterror'>Le champ « Telephone » est vide ou incomplet.</span>";
$errf_8=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site: DEMANDE D ADHESION";
$tete="From:test.tr@test.fr\n";
$corps.="Kbis : ".$f_22."\n";
$corps.="Marque : ".$f_222."\n";

$corps.="Marque2 : ".$marque2."\n";
$corps.="Marque3 : ".$marque3."\n";
$corps.="Marque4 : ".$marque4."\n";
$corps.="Marque5 : ".$marque5."\n";
$corps.="Marque6 : ".$marque6."\n";
$corps.="Marque7 : ".$marque7."\n";
$corps.="Marque8 : ".$marque8."\n";
$corps.="Marque9 : ".$marque9."\n";
$corps.="Marque10 : ".$marque10."\n";

$corps.="Civilité : ".$list['f_1'][$f_1]."\n";
$corps.="Nom : ".$f_2."\n";
$corps.="Prénom : ".$f_3."\n";
$corps.="Adresse : ".$f_4."\n";
$corps.="Code postal : ".$f_5."\n";
$corps.="Ville : ".$f_6."\n";
$corps.="Pays : ".$f_pays."\n";
$corps.="Email : ".$f_7."\n";
$corps.="Téléphone : ".$f_8."\n";
$corps.="Fonction : ".$f_fonction."\n";
$corps.="Message : ".$f_9."\n";
if(mail("test@test.fr", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>


Merci de votre aide.
A voir également:

1 réponse

loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 14
Modifié par loupix57 le 30/09/2014 à 22:16
Salut !
Ok j'ai regarder à plusieurs fois ton code (Assez long !)

Je te propose de découper ton formulaire en deux parties ;
L'un qui envoie ton fichier ;
puis, ensuite, inscrit les informations relatifs à cela.

Même les maths ça n'a rien de compliquer.
0