Formulaire HTML
Daizzer
Messages postés
229
Date d'inscription
Statut
Membre
Dernière intervention
-
Daizzer Messages postés 229 Date d'inscription Statut Membre Dernière intervention -
Daizzer Messages postés 229 Date d'inscription Statut Membre Dernière intervention -
Bonjour, sur un petit site j'ai créé un formulaire avec des champs à remplir etc. Le bouton submit doit renvoyer à la page formmail.php qui doit envoyer le contenu du formulaire à mon adresse hotmail.
En fait ça marche, je reçois bien le formulaire sauf une chose : Dans le formulaire il y a un " INPUT type=file " afin d'envoyer une photo, mais je ne la reçois pas !
Voici l'en-tête du formulaire :
<FORM method=post action="formmail.php" enctype="multipart/form-data">
Comment ça se fait que je reçois tout sauf la photo ? Quelque chose à modifier dans le fichier formmail.php peut être, mais quoi ?
Merci de votre aide.
En fait ça marche, je reçois bien le formulaire sauf une chose : Dans le formulaire il y a un " INPUT type=file " afin d'envoyer une photo, mais je ne la reçois pas !
Voici l'en-tête du formulaire :
<FORM method=post action="formmail.php" enctype="multipart/form-data">
Comment ça se fait que je reçois tout sauf la photo ? Quelque chose à modifier dans le fichier formmail.php peut être, mais quoi ?
Merci de votre aide.
3 réponses
-
Bonjour,
: Dans le formulaire il y a un " INPUT type=file "
<input type='file' ... />
sert à envoyer des fichiers sur le serveur.
Toutes les informations transmises par le formulaire(et le fichier) sont traitées par formail.php(indiqué par action="...)
Attention cependant il y a un erreur pour l'attribut method de la balise form:
Tous les attributs de balise doivent comporter des guillemets, or ill n'y est pas<FORM method=post action="formmail.php" enctype="multipart/form-data"> Donc: <FORM method="post" action="formmail.php" enctype="multipart/form-data">
Un lien qui peut vous aider pour envoyer un fichier en pièce jointe:
http://www.commentcamarche.net/forum/affich-2149411-php-piece-jointe-avec-mail-
Je n'ai pas tout compris...
S'il y avait une erreur pour l'attribut method je ne recevrais pas de mail, or c'est le cas. J'ai tout de même mis des guillemets à "post" mais ça ne change rien je ne reçois pas la photo.
INPUT type=file servirait à envoyer des fichiers sur le serveur... Pourquoi je ne retrouve pas le fichier alors ? Comment faire pour que le fichier soit vraiment envoyé par mail ou du moins que je puisse le retrouver sur mon serveur ? -
Avec le formulaire le fichier est stocké dans la variable PHP $_FILE.
Pour l'enregistrer sur le serveur il faut utilser la fonction move_uploaded_file() qui veut dire littéralement enregistre le fichier qui est téléchargé vers le serveur.
Pour l'envoyer par mail le lien que je vous ai indiqué devrait marcher. -
Le truc c'est que je ne sais pas du tout comment utiliser :
<? $boundary = "_".md5 (uniqid (rand())); $attached_file = file_get_contents($file_name); //file name ie: ./image.jpg $attached_file = chunk_split(base64_encode($attached_file)); $attached = "\n\n". "--" .$boundary . "\nContent-Type: application; name=\"$file_name\"\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=\"$file_name\"\r\n\n".$attached_file . "--" . $boundary . "--"; $headers ="From: ".$my_email." \r\n"; $headers .= "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; $body = "--". $boundary ."\nContent-Type: text/plain; charset=ISO-8859-1\r\n\n".$message . $attached; @mail($email,$subject,$body,$headers); ?>
alors que ma page formmail.php est comme ça :
<?php $TO = "monadressemail"; $h = "From: " . $TO; $message = ""; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } mail($TO, $subject, $message, $h); ?>
ni comment utilizer move_uploaded_file()...
-
-
-