|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
Salut à tous, mes excuses si je poste ce premier post dans la mauvaise catégorie
Etant limité en php (je me sers essentiellement de 'echo' et include pour générer du html), et en l'absence de programmeur, je bloque sur un formulaire utilisant phpMailer. A un formulaire mail fonctionnel, on m'a demandé d'ajouter 2 champs input type "file", pour uploader des fichiers. Les données de ce formulaire sont contrôlées par un fichier javascript, qui envoie ensuite les données à un fichier mailer.php. Ce fichier php utilisant phpmailer, j'ai cherché depuis quelques jours tutos , exemples et topics qui pourraient m'aider, en vain... Le problème étant que toutes les données du formulaires sont transmises correctement, sauf les pièces jointes (à noter que le contenu des input type files est bien transmis au fichier mailer.php >> un echo me renverra par exemple "test.doc". ) J'utilise les 2 lignes suivantes : Code :
Je ne suis pas sûr d'être clair, donc au besoin, je peux vous transmettre les fichiers, avant d'aller me pendre : Merci par avance de votre pitié pour un boulet de php |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Inscription : février 2008 Messages : 3 305 ![]() |
recevoir le contenu "caractère" d'un champs uploader ne veut pas dire que ce dernier est bien envoyé à ton serveur. tu peut montrer le code que tu utiliser pour réceptionner ton fichier uploadé?
|
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
Salut Vil'Coyote
côté html : Code :
<input type="file" name="post_motiv" value="" onchange="check_extension(this.value);" class="file" /><br /> Code :
Code :
Je crois que je vois ce que tu veux dire par contenu "caractère". Ca viendrait donc d'un truc pas transmis entre javascript et php ? Merci à toi |
||||
|
|
00
|
|
|
#4 |
![]() ![]() Développeur Web Inscription : février 2008 Messages : 3 305 ![]() |
ouep donc c'est bien ce qu'il me semble tu ne reçoit pas tes fichier. tu récupère le nom mais aucunement le fichier en tant que tel dans ton code php. tu devrais regarder le tuto.
http://antoine-herault.developpez.co...ls/php/upload/ |
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
ben en fait d'après les tutos phpMailer, la fonction AddAttachment suffit :
elle fait appel à une grosse fonction de la classe phpMailer qui doit s'occuper du traitement du fichier (cf. pièce jointe) Je vais tenter d'appliquer le tuto, mais est-ce que je risque pas d'avoir des conflits avec des fonctions déjà existantes dans cette classe phpMailer ? Edit : après essai, l'utilisation du script d'upload du tuto me renvoie une erreur : Echec de l'upload A part ça, le mail lui-même a l'air d'être bien envoyé... En fait je patauge de plus en plus |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
je poursuis donc mes tentatives...
cette fois en remplaçant le fichier class.phpmailer.php par l'avant-dernière version, 5.1. Cette fois, une erreur un peu plus explciite peut-être concernant le problème d'upload : Citation:
Je patauge toujours, mais l'erreur change... |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
Alors effectivement, le fichier n'est pas uploadé...
Il semblerait que le fichier javascript qui contrôle le formulaire intercepte les données. Le truc qui me rend fou, c'est que dans le fichier php, Code :
$fichier = basename($_FILES['post_cv']['name']); Mais si je fais un isset sur ...le isset est négatif ! J'ai l'impression que le fichier javascript est la cause de la perte de données... |
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Inscription : février 2008 Messages : 3 305 ![]() |
as tu essayé sans tes controle javscript histoire d'être sur ?
|
|
|
10
|
|
|
#9 | |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
Oui, et justement, l'erreur change :
on passe à Citation:
Edit : et pour précision, le mail arrive bien avec les fichiers joints, mais ils ont des noms du genre : phpTeyhz et sont illisibles. Ça voudrait dire qu'il y a un problème au niveau du javascript et au niveau du php... |
|
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
Le problème se trouve au niveau de ton formulaire qui n'envoi pas correctement les fichiers.
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
Après avoir eu un entretien avec l'hébergeur, il semblerait qu'un problème existe au niveau du dossier /tmp et des autorisations. D'ailleurs, au moment de l'upload, l'erreur a changé :
la fonction move_uploaded_file ne pose apparemment plus problème, mais j'ai ceci : Citation:
Edit : après changement du dossier cible à l'aide de la fonction : Ca fonctionne ! la partie php est donc ok. ![]() Retour donc à la partie javascript pour les contrôles du script |
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
En fait, donc, j'en reviens au même :
Un ami m'a dit que "l'upload était impossible en Ajax" (apparemment, le fichier javascript qui contrôle les données du formulaire, c'est de l'Ajax) et m'a conseillé un tuto : http://www.ajaxf1.com/tutorial/ajax-...-tutorial.html Après presque une journée de galère, je crois comprendre que ce tuto ne permet que d'afficher un gif pendant l'upload du fichier. Ce qui me ramène à l'erreur d'origine : ce fichier javascript empêche l'upload... La fonction move_uploaded_file renvoie à nouveau false. Existe-t-il un moyen d'envoyer les $_FILES directement au fichier php mailer, pendant que le fichier js se contente de contrôler les autres champs ? Ca paraît peut-être débile comme question, mais là, je ne sais plus dans quelle direction chercher. |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Intégrateur Web Inscription : juillet 2011 Messages : 9 ![]() |
la suite des tests, selon les conseils d'un ami :
J'ai essayé de placer un autre submit dans mon formulaire, destiné à uploader les fichiers avant l'envoi, en utilisant le système d'upload ajax mentionné dans mon post d'hier. Ca uploade bien ! Le mail est bien envoyé ! Par contre et bien évidemment, les pièces jointes ne sont pas jointes au mail... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com