Fork me on GitHub




« 1 2 3 (4) 5 6 7 ... 15 »


Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Aspirant
Inscrit: 05/02/2008 14:10
De Québec
Messages: 23
Citation :

blueteen a écrit:

Suite à vos posts, je viens de tester les pièces jointes.
Et il semble y avoir confusion !
Dans le fichier modules/formulaire/formulaire.php, on trouve à la ligne 915 le texte suivant :
Citation :

// If you want to keep the uploaded files in the folder /upload/formulaire/imgform you can comment the following code but IT'S VERY DANGEROUS FOR THE SECURITY.


J'ai simplement commenté ce bout de code, et je retrouve bien mon fichier test.txt dans le dossier /uploads/formulaire/imgform/

Mais quel est l'intérêt de supprimer ce fichier ? (sans qu'il soit joint au mail).
Dans le mail reçu, que devrions-nous avoir : la pièce jointe ou un lien vers la pièce jointe ? (mais vu qu'elle est supprimée par défaut, je ne pense pas).

A suivre, Philou si tu nous entends


C'est ce que je dis (écris) depuis plusieurs jours déjà

Par contre, en regardant bien le code, quand on arrive au "submit" (à partir de la ligne ~418), le fichier est supposé se joindre au courriel (email), mais ça n'arrive pas! Et ensuite on détruit le fichier, pour des raisons de sécurité.

Philou est très occupé et je ne sais pas s'il va avoir du temps à nous consacrer.

Pour l'instant, j'essaie de débugger (avec PhpEd) pour voir qu'est-ce qui se passe.

Merci pour ton aide blueteen, tes deux récents posts avec les erreurs sql et les undefined nous aident un peu!

Bernard

Posté le : 12/02/2008 17:18
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 25/11/2004 12:53
De 48400 Florac - France
Messages: 3370
@blueteen,

Je t'ai donné quelques explications par mail (mais je ne sais pas si j'ai été très clair ?).

Philippe.

Posté le : 12/02/2008 17:31
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Attention, les undefined ne sont pas bloquants.

Posté le : 12/02/2008 17:36
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Aspirant
Inscrit: 05/02/2008 14:10
De Québec
Messages: 23
Du nouveau!

Je viens d'avoir une confirmation sur la chose suivante: C'est l'accès au répertoire temporaire qui cause une partie du problème.

J'avais posté la chose suivante:
Citation :

bouellet a écrit:
Dans formulaire.php, le code crée un fichier temporaire lorsque le type du champ est "upload" (ligne ~680). Localement, il le fait dans le "tmp" (C:/Program Files/EasyPHP1-8\tmp\), mais sur le serveur c'est dans C:\Windows\Temp".

Sur mon environnement de Dev, le fichier tmp passe dans la condition if(filesize($_FILES[$fichier]['tmp_name'])==null)

Local, tout va bien et la fonction formulaire_upload est appelée.

Alors, l'accès au "temp" sur le serveur est sûrement la cause du problème.


En donnant les droits au répertoire "C:\Windows\Temp" sur le serveur les fichiers se retrouvent bel et bien, par la suite, sur "uploads\formulaire\imgform". Évidemment, tout en ayant mis le code vers la fin de formulaire.php en commentaire.

Il faudrait que quelqu'un d'autre vérifie et voir si nous avance.

Posté le : 12/02/2008 20:32
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Pour toi c'était un souci, mais sur mes serveurs de test (tous sous linux), cette partie là fonctionne très bien (enfin si je désactive la fonction à la fin du ficher, les fichiers uploadés restent bien place).

Posté le : 12/02/2008 20:50
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Un petit truc concernant l'envoi de pièce jointe au formulaire.
Après quelques tests, voici ce que j'ai fait sur le fichier formulaire.php (pour tester)

je mets en commentaire toute cette partie, vers la ligne 830
foreach ($up as $k => $v ) {
        
$path $k;
        
$filename $v;
        if (
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream")) {
        } else {
            echo 
$xoopsMailer->getErrors();
        }
    }


Je mets juste au-dessus ou au-dessous, le code suivant :
$path XOOPS_ROOT_PATH.'/uploads/formulaire/imgform/test.txt';
$filename 'testok.txt';
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream");


Je mets également en commentaire le code suivant vers la ligne 920 (pour être tranquille pour le moment avec la suppression des fichiers uploadés).
$dir opendir($uploadDestPath);
    while(
$file readdir($dir)) {
        if(
$file!=in_array($file, array(".","..")))
        {
            
unlink("$uploadDestPath/$file");
      }
    }
    
closedir($dir);


Puis, je place manuellement dans mon répertoire d'uploads, un fichier test.txt contenant quelques données
Puis je vais sur mon formulaire que je valide tel quel, sans choisir de pièce jointe (puisqu'on a en mis une en dur dans le code).

Et bien de mon côté ça fonctionne, je reçois bien le mail, avec ma pièce jointe qui se nomme alors : testok.txt


Je vais donc essayer de tester ce qui coince dans cette portion de code
foreach ($up as $k => $v ) {
        
$path $k;
        
$filename $v;
        if (
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream")) {
        } else {
            echo 
$xoopsMailer->getErrors();
        }
    }


Attention, j'ai testé l'envoie vers plusieurs domaines, et tous ne fonctionnent pas.
Donc pour le moment, je me contente de tester vers un de mes mails qui reçoit immédiatement ces formulaires.

Posté le : 13/02/2008 09:24
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
En fait, ligne 477, le tableau $up est déclaré, mais il reste vide jusqu'à son traitement par
foreach ($up as $k => $v )

Posté le : 13/02/2008 09:32
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Je n'arrive à pas à récupérer/trouver dans le script, le nom du fichier envoyé.
De toutes les variables en place, aucune ne me retourne une bonne valeur.

Je viens de faire un test, en mettant volontairement un type de fichier non connu, et en erreur, je récupère le message suivant (grâce au code se trouvant ligne 82 dans formulaire.php)

Citation :

Erreurs
Errors Returned While Uploading
Unknown filetype rejected
indice :0
dstpath :/var/www/html/2018/uploads/formulaire/imgform
destname :ele_10 -
permittedtypes :---
Max upload file:204800


On voit que le nom de destination me renvoie "ele_10" (au lieu de test.te)
$destpath renvoie une bonne valeur
$destname non.

Edit :
Bon en me basant sur cette page :
https://www.frxoops.org/modules/smartsection/item.php?itemid=175

J'ai essayé ceci dans formulaire.php
echo $_FILES['ele_10']['name'];


Ce qui me renvoie bien le nom de mon fichier uploadé (pour le moment, je ne tiens pas compte du cas de figure où on aurait un formulaire avec plusieurs uploads simultanés possibles).

Posté le : 13/02/2008 11:11
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Bon, pour l'envoi de pièce jointe au formulaire, ça n'a pas l'air d'être un gros bug.
Voici mon dernier test en date.

Dans formulaire.php, ligne 726, je remplace :
$uploadDestName $fichier;

par
$uploadDestName $_FILES[$_POST['xoops_upload_file'][0]]['name'];


Je remplace
foreach ($up as $k => $v ) {
        
$path $k;
        
$filename $v;
        if (
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream")) {
        } else {
            echo 
$xoopsMailer->getErrors();
        }
    }

par
$xoopsMailer->multimailer->AddAttachment($uploadDestPath.'/'.$uploadDestName,$filename,"base64","application/octet-stream");


Je prends un formulaire, où j'ai qu'une seule pièce jointe joignable, et là je reçois bien le fichier joint avec le mail.

ATTENTION : ceci n'est pas une solution
Je cherche juste à comprendre quels sont les soucis avec les variables, qui empêchent le bon fonctionnement des pièces jointes.

Et un des soucis est avec : $uploadDestName qui ne renvoyait pas une bonne valeur (enfin d'après mes tests).

Si vous voulez tester cette modif' de code de votre côté, pour voir si votre pièce jointe arrive bien à présent ?!

Posté le : 13/02/2008 11:56
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 25/11/2004 12:53
De 48400 Florac - France
Messages: 3370
Je teste ça dès que j'ai un moment.

Philippe.

Posté le : 13/02/2008 12:41
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 2 3 (4) 5 6 7 ... 15 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

33 Personne(s) en ligne (24 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 33 | Plus ...