[RESOLU] Formulaire avec piéce jointe

Eléphant du PHP | 194 Messages

04 oct. 2018, 20:37

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
Modifié en dernier par filou80 le 05 oct. 2018, 03:39, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

04 oct. 2018, 21:06

Je crois qu'il manque la question :-)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 194 Messages

05 oct. 2018, 03:39

Oups.

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 oct. 2018, 09:25

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 ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 194 Messages

05 oct. 2018, 14:23

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 oct. 2018, 14:39

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.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 194 Messages

05 oct. 2018, 19:51

Je suis novice dans le domaine du web, mettre des var_dump je comprend pas.
Désolé.
merci encore de votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 oct. 2018, 08:45

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
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 194 Messages

10 oct. 2018, 08:51

Merci pour vos réponses j'ai trouver le script que je rechercher .
Merci au forum

@+ Filou80