Page 1 sur 1

Formulaire avec piéce jointe

Posté : 04 oct. 2018, 20:37
par filou80
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">&nbsp;</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&eacute;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&eacute;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>"; ?>&nbsp;</td> </tr> </table>
Merci par avance pour votre aide et vos réponses

Re: Formulaire avec piéce jointe

Posté : 04 oct. 2018, 21:06
par @rthur
Je crois qu'il manque la question :-)

Re: Formulaire avec piéce jointe

Posté : 05 oct. 2018, 03:39
par filou80
Oups.

Le soucis c'est que sa fonctionne pas, quelqu'un pourrais me dire ce qu'il va pas ?

Re: Formulaire avec piéce jointe

Posté : 05 oct. 2018, 09:25
par @rthur
Très difficile à te dire si tu ne nous dis pas ce qui en fonctionne pas ? Quels sont les symptomes ? Tu as un message d'erreur ? Une page blanche ?

Re: Formulaire avec piéce jointe

Posté : 05 oct. 2018, 14:23
par filou80
Sa me dit que le message est envoyer. Sa me renvoi sur la page de remerciement mais rien en mail ni dans le dossier recu sur le site web.

Merci par avance de votre aide et de vos réponses.

Re: Formulaire avec piéce jointe

Posté : 05 oct. 2018, 14:39
par @rthur
Bah déjà il faut que tu désactives ta redirection vers ta page merci pour voir si il n'y aurait pas un message d'erreur qui s'afficherai pendant ton traitement.

Ensuite, il faut que tu avances dans ton débugage pour savoir à quel moment ça ne fonctionne pas comme prévu. Le plus simple quand on débute pour débuguer, c'est de mettre des var_dump($nom_de_ta_variable) pour vérifier à chaque moment de ton code si l'exécution se passe comme prévu.

Re: Formulaire avec piéce jointe

Posté : 05 oct. 2018, 19:51
par filou80
Je suis novice dans le domaine du web, mettre des var_dump je comprend pas.
Désolé.
merci encore de votre aide

Re: Formulaire avec piéce jointe

Posté : 06 oct. 2018, 08:45
par @rthur
var_dump() est une fonction qui te permet de regarder le contenu des variables, donc il faut que tu en mettes dans ton code pour vérifier à chaque étape que tout se passe comme prévu :
http://php.net/var_dump

Re: Formulaire avec piéce jointe

Posté : 10 oct. 2018, 08:51
par filou80
Merci pour vos réponses j'ai trouver le script que je rechercher .
Merci au forum

@+ Filou80