Modification d'un formulaire php

Fermé
jipy63 Messages postés 10 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 21 février 2009 - 21 févr. 2009 à 10:39
jipy63 Messages postés 10 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 21 février 2009 - 21 févr. 2009 à 19:23
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 } ?>
A voir également:

3 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
21 févr. 2009 à 11:30
salut,

il te faut plus que quelques conseils, c'est un sujet sérieux !
et hop, un tuto complet !
0
jipy63 Messages postés 10 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 21 février 2009 2
21 févr. 2009 à 13:11
Merci pour ce tuto plus que complet, maintenant je vais ESSAYER de l'adapter a ma page, mais comme dis plus haut je ne connais rien en programation et ici il y a deja un tas de variables donc ca va pas etre du gateau pour moi !!!
Je vous tiens au courant de la suite, mais si une ame charitable qui sait s'en sortir me fait le code complet adapté a ma page, ce serait SUPER.
D'ailleurs ce formulaire poura etre utilisé par tous en tant que formulaire de contact.
0
jipy63 Messages postés 10 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 21 février 2009 2
21 févr. 2009 à 19:23
Bin j'ai essayé toute l'ap midi de modifier mon fichier mais NADA ! toujours des erreurs dans le script et les fichiers passent toujours pareil donc + 1Mo ca passe et fichiers autres que désigné passent aussi !
Si quelqu'un pouvait m'aider sur ce fichier ce serait sympa.
0