Bonjour,
j'ai un formulaire de contact en php avec possibilité d'envoyer des pieces jointes.
Le probleme c'est que je ne sait pas contoler ce formulaire au niveau de l'extention du fichier ni au niveau du poids du fichier (je n'ai pas fait d'études en programation !).
En résumé si quelqu'un pouvait me modifier ce code pour que les pices jointes n'acceptent que les fichiers .jpg, .jpeg, .gif, .png, et pdf, et aussi la poids maxi d'un fichier serait de 1Mo, ce serait sympa.
Merci d'avance à vous.
Voici la page du formulaire :
<?php
// ---------------------------------- editer ici ---------------------------------
// L'adresse à laquelle le formulaire sera envoyé.
$dest = "Moi@MONFAI.be";
// Le path complet ou seront stocké les fichiers Uploadé.
$up_full = "http://www.monsite/upload/";
// Le path du dossier
$up_dir = "./upload/";
// Le nombre de fichiers qu'il est possible d'Uploader
$UploadNum = "6";
//Le titre de votre site
$titresite = "My Site";
//Adresse de la page d'acceuil
$siteadresse = "http://www.mapagedacceuil.com";
//Insérer une image en haut du formulaire
//L'images peut être stocké à la racine ou dans un dossier Exemple:
//Racine ou même dossier que le formulaire: logo.JPG
//Dossier: images/logo.JPG
$insertimghaut = "images/logo.JPG";
//Ne rien changer ici
$online_isp = "0";
// --------------------------------------------------------------------------------- //
function unique_id()
{
$taille = 6;
$new_pass = '';
$lettres = "abcdefghijklmnpqrstuvwxyz123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$new_pass.=substr($lettres,(rand()%(strlen($lettres))),1);
}
define("timer", $new_pass);
}
unique_id();
ini_set("sendmail_from", $dest);
if(isset($_POST["submit"]))
{
// ------------------------ Vérification du formulaire -------------------------
$From = preg_replace("/\r/", "", $_POST['From']);
$From = preg_replace("/\n/", "", $_POST['From']);
$Name = preg_replace("/\r/", "", $_POST['Name']);
$Name = preg_replace("/\n/", "", $_POST['Name']);
$Prenom = preg_replace("/\r/", "", $_POST['Prenom']);
$Prenom = preg_replace("/\n/", "", $_POST['Prenom']);
$Adresse = preg_replace("/\r/", "", $_POST['Adresse']);
$Adresse = preg_replace("/\n/", "", $_POST['Adresse']);
$Code = preg_replace("/\r/", "", $_POST['Code']);
$Code = preg_replace("/\n/", "", $_POST['Code']);
$Ville = preg_replace("/\r/", "", $_POST['Ville']);
$Ville = preg_replace("/\n/", "", $_POST['Ville']);
$Tel = preg_replace("/\r/", "", $_POST['Tel']);
$Tel = preg_replace("/\n/", "", $_POST['Tel']);
$Site = preg_replace("/\r/", "", $_POST['Site']);
$Site = preg_replace("/\n/", "", $_POST['Site']);
$Nada = '';
$Msg = $_POST['Msg'];
if(empty($From))
{
$Nada.="Veuillez renseigner votre adresse Email!<br>";
}
if(empty($Msg))
{
$Nada.="Veuillez inscrire un Message !<br>";
}
if(empty($Prenom))
{
$Nada.="Veuillez renseigner votre Prenom!<br>";
}
if(empty($Adresse))
{
$Nada.="Veuillez renseigner votre Adresse!<br>";
}
if(empty($Code))
{
$Nada.="Veuillez renseigner votre Code postal!<br>";
}
if(empty($Ville))
{
$Nada.="Veuillez renseigner votre Ville!<br>";
}
if(empty($Tel))
{
$Nada.="Veuillez renseigner votre N° de Tel!<br>";
}
$noway = "$Nada" ;
if(empty($Nada) &&
eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$From))
{
$ok = TRUE;
}
elseif(!empty($Nada) &&
eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$From))
{
$ok = FALSE;
}
else
{
$ml = "Votre Email est invalide !<br>";
$ok = FALSE;
}
// ------------------------------------------------------------------------- //
// ----------------------------- Système d'upload ------------------------------ //
$status = '';
$new_name = '';
$get_files = '';
$all_names = '';
for($i=0;$i<count($_FILES["fileup"]["tmp_name"]);$i++)
{
$name=$_FILES["fileup"]["name"][$i];
$temp=$_FILES["fileup"]["tmp_name"][$i];
$size=$_FILES["fileup"]["size"][$i];
$type=$_FILES["fileup"]["type"][$i];
$h = time();
if($size > 0)
{
global $up_dir, $all_names;
$new_name = $h .'-'. constant('timer') . '-' . $name;
$new_name = strtr($new_name, " àäåéèêëïîôöùüûñ()[]'~$&%*@ç!?;,:/^?{}|+", "_aaaeeeeiioouuun____________________E____");
@move_uploaded_file($temp, $up_dir . $new_name);
$all_names.= "$new_name\n";
}
}
// ------------------------------------------------------------------------- //
// ----------------------------- Messages d'upload --------------------------- //
if(empty($all_names))
{
$status = "Aucun fichiers Uploadés.";
}
else
{
$status = "Fichiers Uploadés avec succès.";
$get_files = "\nGet the file(s): $up_full";
}
//--------------------------------------------------------------------------- //
// ----------------------------- Envoi du mail ------------------------------ //
if($ok == "TRUE")
{
$referer = $_SERVER["HTTP_REFERER"];
$subject = "Formulaire Web";
$body = "Origin: $referer\n";
$body.="\n---SF Mailer---\n\n";
if(count($_POST))
{
while(list($key, $val) = each($_POST))
{
$body.="$key : $val\n";
}
}
$body.="\n\n";
$body.="Upload: $status\n";
$body.="$up_full$all_names\n";
$body.="$get_files\n";
$body.="------------------------\n";
$body = stripslashes($body);
if($online_isp == "1")
{
if(!email("feedback",$dest,$sujet,$body))
{
print "Une erreur c'est produite durant l'envoi du mail.<br>";
}
}
else
{
$header = '';
$header.= 'From: "' . $Name . '" <' . $From . ">\r\n";
$header.= 'Reply-To: "' . $Name . '" <' . $From . ">\r\n";
$header.= "X-Mailer: PHP/" . phpversion();
if(!mail($dest, $subject, $body, $header ))
{
print "Une erreur c'est produite durant l'envoi du mail.<br>";
}
}
// ------------------------------------------------------------------------- //
// ---------------------------- Message d'envoi avec Succes ---------------------------- //
?>
<html><head><title>SF Mailer - Message envoyé!</title></head><body bgcolor="white">
<div align="center"><img src="<?php echo $insertimghaut; ?>" border="0" alt="SF Mailer"></div><br>
<center><table width="450" border="0" cellspacing="0" cellpadding="0"><tr>
<td width="100%" bgcolor="#000000">
<table width="550" border="0" cellspacing="1" cellpadding="2"><tr>
<td colspan="2" bgcolor="#ffffff"><div align="center"><br>
Toute l'équipe de la <?php echo $titresite; ?> vous remercie de votre message.<br>Une réponse vous sera envoyé le plus rapidement possible.<br><br>
<?php echo $status; ?>
<br><p> </p><p> </p>
<p><a href="<?php echo $siteadresse; ?>">-Retour au site-</a></p><br></div>
</tr></table>
</td></tr></table></center></body>
</html>
<?php
}
// ------------------------------------------------------------------------- //
else
{
// ----------------------------- Message en cas d'erreur ----------------------------- //
?>
<html><head><title>SF Mailer - Erreur durant l'envoi!</title></head><body bgcolor="white">
<div align="center"><img src="<?php echo $insertimghaut; ?>" border="0" alt="SF Mailer"></div><br>
<center><table width="450" border="0" cellspacing="0" cellpadding="0"><tr>
<td width="100%" bgcolor="#000000">
<table width="550" border="0" cellspacing="1" cellpadding="2"><tr>
<td colspan="2" bgcolor="#ffffff"><div align="center"><br><b>
<?php
echo $noway;
echo $ml;
?>
</b><p><br><br>Une erreur c'est produite durant l'envoi de votre message. Vous pouvez envoyer un e-mail au <a href="mailto:<?php echo $dest; ?>" target="_blank">Webmaster</a>.<br>Ou bien, réessayer une seconde fois.</p>
<p> </p><p> </p>
<p><a href='Javascript:history.go(-1)'>-Retour-</a></p><br></div>
</tr></table>
</td></tr></table></center></body>
</html>
<?php
// ------------------------------------------------------------------------- //
}
}
else
{
$num = 0;
$upload_box = '';
while($num < $UploadNum)
{
$num++;
$upload_box.= "<tr><td><font size='-1' face='verdana'> File $num:</font></td><td><input name='fileup[]' type='file'></td>";
}
?>
<html>
<head>
<title>SF Mailer - Contact</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#003399" vlink="#003399" alink="#003399"
topmargin=" 0" leftmargin="0" marginwidth="0" marginheight="0" style="border: 1">
<div align="center"><img src="<?php echo $insertimghaut; ?>" border="0" alt="SF Mailer"></div><br>
<table border="0" width="60%" align="center"><tr><td valign="top">
<table border="1" width="70%" bordercolor="#000000" bordercolordark="#FFFFFF" cols="1" align="center"><tr><td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<table border="0" bordercolor="#000000" height="100" align="center"><tr>
<td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif"><b>Email* : </b></font></td><td height="5" width="249"><input type="text" size="30" maxlength="255" name="From" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Nom* : </font></td><td height="5" width="249"><input type="text" size="30" name="Name" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Prénom* : </font></td><td height="5" width="249"><input type="text" size="30" name="Prenom" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Adresse* : </font></td><td height="5" width="249"><input type="text" size="30" name="Adresse" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Code Postal* : </font></td><td height="5" width="249"><input type="text" size="30" name="Code" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Ville* : </font></td><td height="5" width="249"><input type="text" size="30" name="Ville" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">N° Tel* : </font></td><td height="5" width="249"><input type="text" size="30" name="Tel" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
<tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Votre Site : </font></td><td height="5" width="249"><input type="text" size="30" name="Site" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr>
</table>
<p align="center"><b><font size="2" face="Arial, Helvetica, sans-serif">Message* : </font></b><br><textarea name="Msg" cols="45" rows="7"></textarea><br></p>
<table width="95%" border="0" align="center"><tr align="center"><td> </td>
<br><div align="center"><font size="2" face="Arial, Helvetica, sans-serif">Si vous désirez nous envoyer une photos, un plan, ...</font></div><br>
<?php echo $upload_box; ?></tr></table>
<p align="center"><br>
<input type="reset" name="reset" value=" Recommencer ">
<input type="submit" name="submit" value=" Envoyer " style="background-color:#CCCCCC">
</p>
</form>
<font size="-2">*Champs Obligatoires<br>
</td></tr></table>
</td></tr></table>
</body>
</html>
<?php } ?>
Afficher la suite