Ok merci , voici la page complete...
[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
// On v?rifie si la fonction ini_set() a ?t? d?sactiv?e...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas d?sactiv?e, on d?finit ini_set de mani?re ? n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}
// V?rifier que le formulaire a ?t? envoy?...
if (isset($_POST['envoi'])) {
//On commence une session pour enregistrer les variables du formulaire...
session_start();
$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
//Enregistrement des param?tres de la case 1...
$_SESSION['case1_'][0] = "";
if (isset($_POST['case1_'][0])) {
$_SESSION['case1_'][0] = $_POST['case1_'][0];
} // Fin du if...
$_SESSION['case1_'][1] = "";
if (isset($_POST['case1_'][1])) {
$_SESSION['case1_'][1] = $_POST['case1_'][1];
} // Fin du if...
// Nbre de zones de s?lection de fichiers -1 car on commence le tableau ? z?ro...
$nbre_zones_fichiers = 4 - 1;
// R?pertoire de t?l?chargement du fichier...
$repertoire = "./miresfolio/";
// Taille maximale autoris?e en octets...
$taille_max_fichier = 8192000;
// Extensions de fichiers autoris?es...
$extensions_autorisees = array("jpg","jpeg","","","","","");
// D?finir l\'icone apparaissant en cas d\'erreur...
// D?finir sur 0 pour afficher un petit x de couleur rouge.
// D?finir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilis?e dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le r?pertoire \'images\',
// ce dernier devant se trouver au m?me niveau que votre formulaire...
$flag_icone = 0;
// On v?rifie si $flag_icone est d?fini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}
// D?finir l'indicateur d'erreur sur z?ro...
$flag_erreur = 0;
//Validation PHP des ?l?ments du formulaire...
if ($_POST['champ1'] == "") {
$erreur_champ1 = "veuillez nous indiquer votre nom";
$flag_erreur = 1;
} // Fin du if...
if ($_POST['champ2'] == "") {
$erreur_champ2 = "veuillez nous indiquer votre numéro de téléphone";
$flag_erreur = 1;
} // Fin du if...
if ($_FILES['fichier']['name']['0'] == "") {
$erreur_fichier[0] = "veuillez choisir au moins une photo à nous envoyer";
$flag_erreur = 1;
} // Fin du if...
//Envoi avec fichier...
if (($_FILES['fichier']['name']['0'] !="") && is_array($_FILES)) {
if (!is_dir($repertoire)) {
$erreur_fichier[0] = "Le r?pertoire de t?l?chargement sp?cifi? n'existe pas!";
$flag_erreur = 1;
} else {
// V?rifier si le r?pertoire a les droits en ?criture...
if (!is_writeable($repertoire)) {
$erreur_fichier[0] = "Le r?pertoire sp?cifi? n'a pas les droits d'acc?s en ?criture.";
$flag_erreur = 1;
} else {
// On boucle x nbre de fois, sauf si aucun fichier n'a ?t? s?lectionn?...
for ($u = 0; $u <= $nbre_zones_fichiers, $_FILES['fichier']['name'][$u] != ""; $u++) {
// V?rifier les ?ventuelles erreurs de t?l?chargement du fichier...
if ($_FILES['fichier']['error'][$u] != 0) {
switch ($_FILES['fichier']['error'][$u]) {
//case UPLOAD_ERR_OK:
case 0;
break;
//case UPLOAD_ERR_INI_SIZE:
case 1;
$erreur_fichier[$u] = "Le fichier t?l?charg? d?passe la taille maximale autoris?e par le serveur.";
$flag_erreur = 1;
break;
//case UPLOAD_ERR_FORM_SIZE:
case 2;
$erreur_fichier[$u] = "Le fichier t?l?charg? d?passe la taille maximale autoris?e par le formulaire.";
$flag_erreur = 1;
break;
//case UPLOAD_ERR_PARTIAL:
case 3;
$erreur_fichier[$u] = "Le fichier n'a ?t? t?l?charg? que partiellement.";
$flag_erreur = 1;
break;
//case UPLOAD_ERR_NO_FILE:
case 4;
$erreur_fichier[$u] = "Aucun fichier n'a ?t? t?l?charg?.";
$flag_erreur = 1;
break;
// case UPLOAD_ERR_NO_TMP_DIR:
case 6:
$erreur_fichier[$u] = "R?pertoire temporaire manquant.";
$flag_erreur = 1;
break;
// case UPLOAD_ERR_CANT_WRITE:
case 7:
$erreur_fichier[$u] = "Echec d'?criture du fichier";
$flag_erreur = 1;
break;
default:
$erreur_fichier[$u] = "Erreur de fichier inconnue";
$flag_erreur = 1;
} // fin du switch
} else {
// On v?rifie si la taille du fichier ne d?passe pas le maximum autoris?
if ($_FILES['fichier']['size'][$u] > $taille_max_fichier) {
$erreur_fichier[$u] = "Le fichier t?l?charg? d?passe la taille maximum autoris?e.";
$flag_erreur = 1;
} else {
// On met le nom du fichier en minuscules...
$nom_fichier = strToLower($_FILES['fichier']['name'][$u]);
// On recherche la position du point dans le nom de fichier...
$dernPos = strRChr($nom_fichier, ".");
// On extrait l'extension du fichier...
$extension = strToLower(subStr($dernPos, 1));
// Si l'extension n'existe pas ou qu'elle ne fait pas partie des extensions autoris?es...
if (($dernPos == "") OR (in_array($extension, $extensions_autorisees) == false)) {
$erreur_fichier[$u] = "L'extension de fichier sp?cifi?e n'est pas autoris?e.";
$flag_erreur = 1;
} else {
//On extrait seulement le nom du fichier sans l'extension, $dernPos donnant l'extension avec le point.
$posExtension = strpos($nom_fichier, $dernPos);
$nom_sans_extension = substr($nom_fichier,0,$posExtension);
// On ajoute au nom du fichier un num?ro unique puis l'extension du fichier...
$nom_unique[$u] = $nom_sans_extension. "_ID_" . uniqid(rand()).$dernPos;
} // Fin du else
} // Fin du else
} // Fin du else
} // Fin de la boucle for... ()
// On boucle une seconde fois, et on ne copie les fichiers que si aucun d'eux n'a retourn? d'erreurs...
$u = 0;
while ((($u<= $nbre_zones_fichiers) && ($_FILES['fichier']['name'][$u] != "") && ($flag_erreur !=1))) {
// On d?place le fichier t?l?charg? du r?pertoire temporaire sur le r?pertoire sp?cifi?
if (!move_uploaded_file($_FILES['fichier']['tmp_name'][$u], $repertoire."/".$nom_unique[$u])) {
$erreur_move_uploaded[$u] = "Impossible de d?placer le fichier dans le r?pertoire de destination...";
$flag_erreur = 1;
} // Fin du if
$u++;
} // Fin de la boucle while
} // Fin du else
} // Fin du else
} // Fin du if (($_FILES['fichier']['name']['0'] !="") && is_array($_FILES)) {
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {
// Addresse de r?ception du formulaire
$email_dest = "
[email protected]";
$sujet = "proposition location";
if (($_FILES['fichier']['name']['0'] !="") && is_array($_FILES)) {
// En-t?tes sp?cifiques de l'e-mail AVEC pi?ce jointe:
// G?n?ration d'une cha?ne de d?limitation
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: mires<
[email protected]>\n";
$entetes .="Content-Type: multipart/mixed;\n";
$entetes .=" boundary=\"{$mime_boundary}\"";
$partie_entete = "Message au format MIME.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
"<html>\n<head>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";
} else { // En-t?tes de l'e-mail sans envoi de fichier...
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: mires<
[email protected]>\n";
$entetes .="Return-Path: mires<
[email protected]>\n";
$entetes .="Reply-To: mires<
[email protected]>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>
<head>
<title>Formulaire</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>\n";
} // fin du else...
//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">votre nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">votre numéro de téléphone = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">votre adresse mail = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Vous seriez prêt à louer votre décors pour :</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 1 = " . $_SESSION['case1_'][0] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 2 = " . $_SESSION['case1_'][1] . "</font><br>\n";
// Enfin, on indique le nom et l'emplacement de la pi?ce jointe sur le serveur.
if (($_FILES['fichier']['name']['0'] !="") && is_array($_FILES)) {
// On boucle x nbre de fois, sauf si aucun fichier n'a ?t? s?lectionn?...
for ($u = 0; $u <= $nbre_zones_fichiers, $_FILES['fichier']['name'][$u] != ""; $u++) {
$a = $u + 1;
$partie_fichier .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Pi?ce jointe $a : " . $nom_unique[$u] . "</font><br>";
} // Fin de la boucle for...
$partie_fichier .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Pi?ces jointes conserv?es dans le r?pertoire : http://reggaeinlyon.com/odg/miresfolio/</font><br>";
} // Fin du if...
$fin = "</body></html>\n\n";
// Si envoi de fichier...
if (($_FILES['fichier']['name']['0'] !="") && is_array($_FILES)) {
// Construction de la pi?ce jointe...
for ($u = 0; $u <= $nbre_zones_fichiers, $_FILES['fichier']['name'][$u] != ""; $u++) {
$type = $_FILES['fichier']['type'][$u];
// Lecture du fichier ('rb' = lecture en binaire)
$fichier = fopen($repertoire . "/" . $nom_unique[$u],'rb');
$donnees = fread($fichier,filesize($repertoire . "/" . $nom_unique[$u]));
fclose($fichier);
// Encodage Base64 des donn?es
$donnees = chunk_split(base64_encode($donnees));
// Partie piece jointe de l'e-mail
$piece_jointe .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$nom_unique[$u]}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$nom_unique[$u]}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$donnees . "\n\n";
} // Fin de la boucle for...
// Fin de la pi?ce jointe...
$piece_jointe .= "--{$mime_boundary}--\n";
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $partie_fichier . $fin . $piece_jointe;
} else {
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;
}
// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {
// Rediriger vers la page de remerciement
header("Location: http://miresparis.com/miresmerci.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?><html xmlns="http://www.w3.org/1999/xhtml">
<head><script language="JavaScript">
function verifSelection() {
if (document.mail_form.champ1.value == "") {
alert("veuillez nous indiquer votre nom")
return false
}
if (document.mail_form.champ2.value == "") {
alert("veuillez nous indiquer votre numéro de téléphone")
return false
}
var selectionFichier1 = document.getElementById("fichier1");
if(selectionFichier1.value == "") {
alert("veuillez choisir au moins une photo à nous envoyer")
return false
}
} // Fin de la fonction
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>mires shooting locations</title>
<style type="text/css">
<!--
body,td,th {
color: #6C7176;
font-family: Times New Roman, Times, serif;
}
body {
background-color: #000000;
}
#Layer1 {
position:absolute;
width:634px;
height:469px;
z-index:1;
left: 222px;
top: 9px;
}
.style17 {font-family: "Times New Roman", Times, serif; color: #6C7176; font-size: 15px; }
.style6 {font-family: "Times New Roman", Times, serif; color: #6A717A; font-size: 14px; }
#Layer3 { position:absolute;
width:192px;
height:48px;
z-index:2;
left: 25px;
top: 139px;
}
a:link {
color: #6C7176;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #6C7176;
}
a:hover {
text-decoration: none;
color: #FFFFFF;
}
a:active {
text-decoration: none;
}
-->
</style></head>
<body>
<div id="Layer1">
<div align="center"><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma">proposer un décors</font></div>
<br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_champ2) {
echo(stripslashes($erreur_champ2));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_case1) {
echo(stripslashes($erreur_case1));
} else {
if ($erreur_fichier[0]) {
echo(stripslashes($erreur_fichier[0]));
} else {
if ($erreur_fichier[1]) {
echo(stripslashes($erreur_fichier[1]));
} else {
if ($erreur_fichier[2]) {
echo(stripslashes($erreur_fichier[2]));
} else {
if ($erreur_fichier[3]) {
echo(stripslashes($erreur_fichier[3]));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">votre nom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">votre numéro de téléphone</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
</td>
<td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">votre adresse mail</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">vous seriez prêt à louer votre décors pour :</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_case1) {
echo($icone);
}
?>
</td>
<td><input type="checkbox" name="case1_[0]" id="case1_" value="prise de vue"<?php
if ($_SESSION['case1_'][0] == "prise de vue") {
echo(" checked");
}
?>><font face="Verdana" size="2">prise de vue</font><br><input type="checkbox" name="case1_[1]" id="case1_" value="tournage"<?php
if ($_SESSION['case1_'][1] == "tournage") {
echo(" checked");
}
?>><font face="Verdana" size="2">tournage</font></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140" align="right"><font face="Verdana" size="2">photo<input name="MAX_FILE_SIZE" type="hidden" value="8192000"></font></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_fichier[0]) {
echo($icone);
}
?>
</td>
<td><input type="file" name="fichier[]" id="fichier1">
<font face="Verdana" size="2">(8 Mo maximum)</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140" align="right"><font face="Verdana" size="2">photo<input name="MAX_FILE_SIZE" type="hidden" value="8192000"></font></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_fichier[1]) {
echo($icone);
}
?>
</td>
<td><input type="file" name="fichier[]" id="fichier2">
<font face="Verdana" size="2">(8 Mo maximum)</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140" align="right"><font face="Verdana" size="2">photo<input name="MAX_FILE_SIZE" type="hidden" value="8192000"></font></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_fichier[2]) {
echo($icone);
}
?>
</td>
<td><input type="file" name="fichier[]" id="fichier3">
<font face="Verdana" size="2">(8 Mo maximum)</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140" align="right"><font face="Verdana" size="2">photo<input name="MAX_FILE_SIZE" type="hidden" value="8192000"></font></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_fichier[3]) {
echo($icone);
}
?>
</td>
<td><input type="file" name="fichier[]" id="fichier4">
<font face="Verdana" size="2">(8 Mo maximum)</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<input type="reset" name="Reset" value=" Effacer ">
<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value="4"></div></form></div>
</div>
<p><a href="index.html"><img src="imgg/logomires.jpg" alt="mires paris" width="196" height="137" border="0" /></a></p>
<div id="Layer3">
<div align="justify">
<p class="style6"><a href="contact.html" onclick="window.open(this.href, 'exemple', 'height=350, width=215, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;">contact</a> - <a href="form.php">proposer un décors </a></p>
<p class="style17"> </p>
</div>
</div>
</body>
</html>
[/php]