Bonsoir à tous
Je suis nouveau, je creer un site sur les pages perso de free.
Je voudrais faire un formulaire de contact avec pièce jointe, je voudrias que le formulaire arrive sur ma boite mail avec la piéce jointe si il y a et la piéces jointes soit stocké aussi sur mon site dans un repertoire prévu a cette effet.
J'ai créer mon formulaire en php et le fichier qui le traite aussi en php.
Le soucis c'est que sa fonctionne pas, quelqu'un pourrais me dire ce qu'il va pas ?
Formulaire :
Code : Tout sélectionner
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>contact</title>
</head>
<body>
<form method='post' action='contactpjok.php' enctype='multipart/form-data' name='form1' id='form1'>
<p>
<label for="email">Email:</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="textfield">Text Field:</label>
<input type="text" name="textfield" id="textfield">
</p>
<p>
<label for="fileField">File:</label>
<input type="file" name="fileField" id="fileField">
</p>
<p>
<input type="reset" name="reset" id="reset" value="Réinitialiser">
<input type="submit" name="submit" id="submit" value="Envoyer">
</p>
</form>
</body>
</html>
Fichier qui traite :
Code : Tout sélectionner
<table width="80%" border="0" align="center">
<tr>
<td class="textesite"> </td>
</tr>
<tr>
<td class="textesite"><?php
$TO = "[email protected]";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($_POST)) {
$message .= "$key : $val
";
}
$nomTmp = $_FILES['fichier']['tmp_name'] ;
if ($nomTmp == NULL)
//executer le script pour envoyer un message seul
{
$nomFichier = "Contact Creche";
// pour vous notifier qu'aucun fichier n'est lié au mail...
// l'objet du mail sera donc "Aucun Fichier" (sans les guillemets),
// dans le cas où il n'y aura pas de pièce jointe, si je ne m'abuse.
mail($TO, $nomFichier, $message, $h);
} else {
//Si à l'inverse le nom de fichier ($nomTmp) n'est pas nul, alors
//on exécute votre script qui traîte le fichier en question et
//qui vérifie son extension avant de l' envoyer
$typeFichier = $_FILES['fichier']['type'] ;
$chemin = "./recu/" ;
$nomFichier = $_FILES['fichier']['name'] ;
$maxsize = 5000000; //on définit le poid maximal de l'image
$error = $_FILES['fichier']['error'] ;
$chemin = "./recu/" ;
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' , 'rar' , 'pdf' , 'zip' );// on definit un tableau contenant les extensions voulu
$tailleFichier = $_FILES['fichier']['size'] ;
if ($error > 0)
{
exit('Veuillez reeayer');
}
if ( $tailleFichier > $maxsize) // si la taille est superieur la taille définit
{
exit('<b>veuillez selectionner un fichier moins gros</b>');
}
$extension_upload = strtolower(substr(strrchr($nomFichier, '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
exit('Extension du fichier incorrecte');
}
copy($nomTmp,$chemin.$nomFichier);
mail($TO, $nomFichier, $message, $h);
}
?>
echo "<script language='Javascript'>document.location='merci.php'</script>";
?> </td>
</tr>
</table>
Merci par avance pour votre aide et vos réponses
Bonsoir à tous
Je suis nouveau, je creer un site sur les pages perso de free.
Je voudrais faire un formulaire de contact avec pièce jointe, je voudrias que le formulaire arrive sur ma boite mail avec la piéce jointe si il y a et la piéces jointes soit stocké aussi sur mon site dans un repertoire prévu a cette effet.
J'ai créer mon formulaire en php et le fichier qui le traite aussi en php.
Le soucis c'est que sa fonctionne pas, quelqu'un pourrais me dire ce qu'il va pas ?
Formulaire :
[code]<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>contact</title>
</head>
<body>
<form method='post' action='contactpjok.php' enctype='multipart/form-data' name='form1' id='form1'>
<p>
<label for="email">Email:</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="textfield">Text Field:</label>
<input type="text" name="textfield" id="textfield">
</p>
<p>
<label for="fileField">File:</label>
<input type="file" name="fileField" id="fileField">
</p>
<p>
<input type="reset" name="reset" id="reset" value="Réinitialiser">
<input type="submit" name="submit" id="submit" value="Envoyer">
</p>
</form>
</body>
</html>[/code]
Fichier qui traite :
[code]<table width="80%" border="0" align="center">
<tr>
<td class="textesite"> </td>
</tr>
<tr>
<td class="textesite"><?php
$TO = "
[email protected]";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($_POST)) {
$message .= "$key : $val
";
}
$nomTmp = $_FILES['fichier']['tmp_name'] ;
if ($nomTmp == NULL)
//executer le script pour envoyer un message seul
{
$nomFichier = "Contact Creche";
// pour vous notifier qu'aucun fichier n'est lié au mail...
// l'objet du mail sera donc "Aucun Fichier" (sans les guillemets),
// dans le cas où il n'y aura pas de pièce jointe, si je ne m'abuse.
mail($TO, $nomFichier, $message, $h);
} else {
//Si à l'inverse le nom de fichier ($nomTmp) n'est pas nul, alors
//on exécute votre script qui traîte le fichier en question et
//qui vérifie son extension avant de l' envoyer
$typeFichier = $_FILES['fichier']['type'] ;
$chemin = "./recu/" ;
$nomFichier = $_FILES['fichier']['name'] ;
$maxsize = 5000000; //on définit le poid maximal de l'image
$error = $_FILES['fichier']['error'] ;
$chemin = "./recu/" ;
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' , 'rar' , 'pdf' , 'zip' );// on definit un tableau contenant les extensions voulu
$tailleFichier = $_FILES['fichier']['size'] ;
if ($error > 0)
{
exit('Veuillez reeayer');
}
if ( $tailleFichier > $maxsize) // si la taille est superieur la taille définit
{
exit('<b>veuillez selectionner un fichier moins gros</b>');
}
$extension_upload = strtolower(substr(strrchr($nomFichier, '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
exit('Extension du fichier incorrecte');
}
copy($nomTmp,$chemin.$nomFichier);
mail($TO, $nomFichier, $message, $h);
}
?>
echo "<script language='Javascript'>document.location='merci.php'</script>";
?> </td>
</tr>
</table>[/code]
Merci par avance pour votre aide et vos réponses