Joomladay francophone 2018 à Paris 18 et 19 mai

FacileForms : problème d'enregistrement

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • FacileForms : problème d'enregistrement

    Bonjour,
    J'ai un problème sous un formulaire créé avec FacileForms : les données ne sont pas enregistrées dans la base de données, et ce de manière totalement aléatoire. Un jour ça marche, un jour ça marche pas. A un moment ça marche, 10mn plus tard ça ne marche plus. Si le formulaire était complètement en rade, rien ne s'enregistrerait jamais, non ? Sur ce formulaire-là, il y a un upload de fichiers, ce qui fait que j'ai des retours d'utilisateurs mécontents que leur contribution n'ai pas été prise en compte. Mais j'ai pour le même site un autre formulaire fait avec FacileForms, un formulaire multipages, raison pour laquelle j'avais choisi ce composant, et là je ne sais pas du tout si tout est enregistré ou pas.
    Quelqu'un a-t-il déjà été confronté à ce problème ? Ou quelqu'un a-t-il des suggestions pour sortir de ce bourbier ?
    D'avance merci.

    Joomla 1.0.15, FacileForms 1.4.7
    Dernière édition par Tomoe à 18/09/2008, 09h20
    JoomGroupe Paris : si vous souhaitez être prévenu par mail des activités, inscrivez-vous sur la liste de diffusion.
    En attendant le retour des Joomgroupes, la page Facebook JoomGroupe Ile de France

  • #2
    Bonjour

    Tu as plusieurs pistes de recherche selon moi.

    Pour moi, verifie bien que mysql est bien parametre. Il y a une fonction de phpmadmin ( afficher l'etat du serveur ) qui t'indique si les parametrage de ta base est optimum.


    Sur facileform.

    Tu enregistres sur une table independante? sur la table specifique de facileform...c'est pas bien, faut mieux construire la sienne ...
    Aucune indication ne peux pas aider pour trouver.

    Sinon, as tu essayer de reproduire le pb?
    Mets une alert popup apres l'inscription dans la table du style, "Votre intervention est prise en compte", comme ca, si le mec se plaint tu lui demandes si la popup s'est declenchee.
    Tu auras une premiere indication....

    L'erreur se produise toujours sur le meme style de pc? Linux, windaube, Mac?

    Verifies tu la fin des champs a rentrer? par exemple, la mise en place d'un " peux, peut etre detruire ton insertion...... ( vulnerable a l'injection sql?? ).

    As tu mis un empecheur d'entree automatique de formulaire avec des lettre ou des numeros? Je ne me souviens plus comment ca s'appelle.


    Sans indication, on peut tout imaginer.

    Voili Voilou
    Wismer
    Dernière édition par Wismer à 16/09/2008, 15h33

    Commentaire


    • #3
      Merci Wismer.

      Pour moi, verifie bien que mysql est bien parametre. Il y a une fonction de phpmadmin ( afficher l'etat du serveur ) qui t'indique si les parametrage de ta base est optimum.
      Dans "afficher l'état du serveur", il y a quelques trucs en rouge. C'est Handler_read_rnd et next, Created_tmp_disk_tables, Select_full_join, Opened_tables et Table_locks_waited. Je me penche dessus pour essayer de voir de quoi il en retourne.

      Tu enregistres sur une table independante? sur la table specifique de facileform...c'est pas bien, faut mieux construire la sienne
      Sur FacileForms, j'ai tout laissé par défaut (ou presque, ma seule contribution est la création d'un micro script reprenant un truc du forum FF). Là je vais faire truffe, mais j'ai pas tout compris de l'histoire de la table de FF et de la table indépendante... Pourrais-tu un peu développer ?
      Les formulaires sont enregistrés dans la table jos_facileforms_forms et les enregistrements sous jos_facileforms_records et jos_facileforms_subrecords. Ce ne sont pas les bonnes tables ?

      Mets une alert popup apres l'inscription dans la table
      D'après ce que j'ai compris, pour contrôler les enregistrements dans la table, il faut que je jour des "pieces", n'est-ce pas ? Je m'y plonge.

      L'erreur se produise toujours sur le meme style de pc? Linux, windaube, Mac ?
      Il semble que non. Je suis sur Mac et aujourd'hui, je n'ai rien pu entrer pendant plusieurs heures. En fin d'aprèm, j'ai refait un essai qui est bien passé. Mystère. Il y a eu des gens qui n'ont pas pu poster et qui l'ont fait d'un pécé. Peu de public Linux, désolée. A priori, rien à voir avec l'OS, donc.

      Verifies tu la fin des champs a rentrer?
      Euh, je vérifie les champs obligatoires et la validité de l'email. J'ai aussi un captcha. C'est ce que tu veux dire ?

      As tu mis un empecheur d'entree automatique de formulaire avec des lettre ou des numeros?
      ??? Bon, là, j'avoue, je suis larguée. Peut-être que demain mes idées seront plus claires

      Ces quelques indications peuvent-elles affiner la direction où chercher ?
      Merci et à bientôt.

      PS : c'est rigolo, on est à égalité en nombre de messages : 63
      Dernière édition par Tomoe à 16/09/2008, 18h16
      JoomGroupe Paris : si vous souhaitez être prévenu par mail des activités, inscrivez-vous sur la liste de diffusion.
      En attendant le retour des Joomgroupes, la page Facebook JoomGroupe Ile de France

      Commentaire


      • #4
        Sur la piste d'une solution

        Bonjour Wismer et merci de t'être penché sur mon cas. Sur le forum FacileForms (où j'avais aussi posté), Bitsqueezer a évoqué quelque chose qui m'a fait penser à un truc tout bête, mais cela semble une bonne piste : si les fichiers uploadés ont le même nom, l'erreur se produit. J'ai donc fait quelques aménagements et je croise les doigts pour que la solution soit aussi simple que ça.
        Mais j'avoue que ton histoire de table indépendante m'intrigue. Si tu voulais bien développer un peu, cela pourrait je pense être utile pour tous. Car c'est en faisant qu'on apprend et ce n'est pas parce que mon problème est (peut être) réglé que cela ne m'intéresse pas d'en savoir plus sur FF !
        JoomGroupe Paris : si vous souhaitez être prévenu par mail des activités, inscrivez-vous sur la liste de diffusion.
        En attendant le retour des Joomgroupes, la page Facebook JoomGroupe Ile de France

        Commentaire


        • #5
          Bonjour

          Je vais essayer de te repondre.

          L'enregistrement automatique de FF est merdique. Ca c'est mon avis. Et pourtant je suis un fan de FF. Fan ne veut pas dire que je me cache les yeux

          Les enregistrements des donnees ne sont pas faite de maniere coherentes ou optimum. La base va s'ecrouler d'elle meme lorsqu'il y a de nombreuses requetes du a une lenteur pour reponse excessif.
          Lorsque l'on veut faire des recherches un poil poussees, c'est exagerement lent.

          Par contre FF offre la possibilite de cree ta propre sauvegarde et depuis que je me suis penche dessus, c'est vraiment la bonne solution. Tu maitrises tout, mais en contrepartie, tu dois creer des scripts dans les begin et end submit des proprietes des formulaires.

          Tu crees avec phpadmin une table que tu vas appele ff_intervention avec 3 champs id, nom_rep, intervention_rep.

          tu crees ton formulaire avec ces champs, ca tu sais faire
          et dans le begin submit de ton formulaire, tu mets ceci

          $this->execPieceByName('ff_InitLib');
          ff_query("insert into #__insertion (
          nom_rep,
          intervention_rep,
          )
          values (
          '".ff_getSubmit('champ_nom','0')."',
          '".ff_getSubmit('champ_intervention','0')."')") ;

          et dans ton bouton, tu mets ceci

          function ff_valider_action(element, action)
          {
          var valider=0;
          var message = '';
          switch (action)
          {
          case 'click':
          if ( ff_getElementByName('champ_nom').value == "" )
          {
          valider = 1;
          message = "Ton nom, tu le mets \n";
          }
          if ( ff_getElementByName('champ_intervention').value == "" )
          {
          valider = 1;
          message = "et ton intervention, elle est ou.... \n";
          }

          if ( valider == 0 )
          {
          alert('Votre formulaire est enregistré');
          ff_submitForm();
          }
          else
          {
          alert(message);
          }
          break;
          default:;
          } // switch
          } // ff_valider_action

          Voici un petit exemple que je mets. C'est perso, y a surement mieux, mais j'aime bien tout controler

          Bien sur si tu optes pour ca, tu mets
          sur non Log To Database
          sur non Email Notification
          C'est le submit qui s'en occupe.

          Pour recuperer les donnees, tu crees un formulaire qui fait un select et tu le mets dans le Form Piece.

          Suis je assez clair car comme ma technique marche, je suis peut etre un poil pas assez precis.

          Je reponds au reste dans le post qui suit

          Voili Voilou
          Wismer

          Commentaire


          • #6
            Saches aussi, que si tu modifies les parametres de mysql, tu vas augmenter la taille du service en memoire mais tu vas accelerer sa vitesse d'affichage.
            Je pense que tu peux multiplier par 3 ou 4 la vitesse d'affichage si ton service mysql est bon, mais tu vas multiplier par 10 la consommation en ram.
            Fais les modification si tu n'as pas de pb avec la ram de ton serveur.


            Pour la verification de champs.

            Tu verifies que le champ a une donne mais est ce que tu verifies si le champ contient un ' ou un "???
            C'est legerement different.
            Fait le test en mettant seulement un ' ou " et regardes ce que ca fait.

            Yep, c'est bien un capthbordel de truc . Fonctionne t il tjs bien?


            Je ne comprends pas trop le pb de l'upload et de toi?
            Si ca fonctionne, mets moi ta theorie, je suis moi aussi preneur de toutes les petites imperfections de FF. Ca m'evite de perdre du temps inutilement

            Voili Voilou
            Wismer

            Commentaire


            • #7
              Merci Wismer pour ces explications. C'est très clair et je vais essayer ta manip. Mais pourquoi trouves-tu que « L'enregistrement automatique de FF est merdique » ?

              Oui, pour la vérification des champs, je ne me suis pas foulée Et ça ne vérifie pas s'il y a un " ou un '.
              Le captcha, disons qu'il fait joli. J'ai bien quelques formulaires qui me viennent de Russie avec des trucs bizarres manifestement pas passées par le captcha, mais bon... Si ça devient trop insupportable, je me pencherai sur "Anti Spam solutions without Captcha" sur le forum FF. Damned, mon temps est limité, il faut se fixer des priorités.

              Pour l'histoire de l'upload, c'est tout simple. Le formulaire en question est utilisé pour un concours photo. Les gens doivent mettre leur nom, prénom, coordonnées et joindre une photo (une seule photo par participant). Il est écrit en gras au-dessus de la boîte d'upload, ainsi qu'à la page de règlement du concours, « Le nom du fichier doit indiquer le nom et prénom du participant sous la forme nom_prenom.jpg sans espaces, ni signes de ponctuation, ni caractères spéciaux (accent, cédille, etc.). » Mais tu connais le caractère très obéissant de l'utilisateur de base sous nos contrées et seul un tiers des fichiers sont nommés de la bonne manière. Sinon abondent les "DC0007.jpg", les "ma plus belle photo prise pendant mon voyage.jpg" sans compter des nommages exotiques avec un nom en japonais par exemple. Tout ça est chargé au fur et à mesure dans "components > com_facileforms—uploads" et je laisse les originaux là (une galerie est faite avec les copies retaillées, mais c'est une autre histoire).
              Lorsque la puce à l'oreille m'a été mise sur cette histoire de nommage des fichiers, je suis allée voir en ftp et effectivement, le fichier que je tentais d'envoyer existait déjà sur le serveur. Je l'ai donc effacé et là jackpot, tout marche impec. J'essaie de le renvoyer, bousin total, la page "merci" s'affiche bien, mais aucun enregistrement dans la bdd. Il semble donc que le problème se situe à ce niveau.
              Certes, c'est entièrement de ma faute. Si j'avais pris le temps de mettre un script vérifiant que le fichier n'existe pas sur le serveur, ou un script modifiant automatiquement le nom du fichier, cela ne serait pas arrivé. Avec des si...
              JoomGroupe Paris : si vous souhaitez être prévenu par mail des activités, inscrivez-vous sur la liste de diffusion.
              En attendant le retour des Joomgroupes, la page Facebook JoomGroupe Ile de France

              Commentaire


              • #8
                J'ai un peu de mal a l'expliquer.

                Les donnees d'un formulaire sont enregistrees sur plusieurs lignes dans subrecords tandis que lorsque tu crees ta tables, les donnees sont inscrites dans une seule ligne.
                Les recherches sont plus rapides, plus simple, moins de perte de temps.

                Avec FF, les donnees peuvent ne pas avoir le meme nombre de ligne ( depend des options, prises en compte des lignes vide ou non )
                avec ta table, le nombre de ligne definit ton nombre d'enregistrement.

                Maintenant, a leur decharge. Pour avoir une table d'enregistrement qui fonctionne, ils n'avaient pas le choix, c'est le seul systeme.
                Comment peuvent ils creer un formulaire qui garde les enregistrements sachant qu'ils ne peuvent pas savoir le nombre de champs de tous les formulaire.
                Toi c'est peut etre 4, moi, c'est peut etre 67. Donc leur methode est la seule qui fonctionne qquesoit le nombre de champ.
                Mais ce n'est pas la plus efficace quand tu connais le nombre de champ de ton formulaire.

                Voili Voilou
                Wismer

                PS : ton pb etait un pb de gestion d'erreur. Il creait une erreur lors de l'upload du fichier mais tu ne la recuperais pas. Des qu'il y a une erreur, le script php est interrompue, d'ou le non enregistrement des formulaires.
                Je comprends.
                PS2 : la capmachin, est tres bien. Je posais la question pour voir si il fonctionnait Je ne le remettais pas en cause.
                Dernière édition par Wismer à 17/09/2008, 13h15

                Commentaire


                • #9
                  Réglé !


                  Voilà, c'est le rouge au front que je viens dire d'où venait le problème. Celui du nom des fichiers était certes existant mais anecdotique. La vraie raisons ... c'est que upload_max_filesize est limité à 2M et que certaines photos font plus que cette taille. Mais effectivement, si j'avais pris le temps de mettre en place un système efficace de gestion d'erreur, je ne me serais pas agitée dans tous les sens inutilement.
                  Merci pour tout Wismer.

                  PS : le captruc marche bien, merci. J'ai bêtement suivi les conseil donnés sur le site de Facile Forms pour le mettre en place, et tout s'est fait tout de suite.
                  JoomGroupe Paris : si vous souhaitez être prévenu par mail des activités, inscrivez-vous sur la liste de diffusion.
                  En attendant le retour des Joomgroupes, la page Facebook JoomGroupe Ile de France

                  Commentaire


                  • #10
                    Page blanche dans mes article

                    bonjour
                    j'ai realisé mes formulaire avec le fameux composant facileforms, ca marche en local mais pas aprés exportation, pourtant sa marche sur un autre site

                    meme dans la partie d'administration les formulaire ne s'affiche pas juste une titre " Page" vide
                    merci si quelqu'un connait la reponse?
                    Connaitre son ignorance est la meilleure part de la connaissance.

                    Commentaire


                    • #11
                      Bonjour

                      Ne melange pas les posts.

                      Voili Voilou
                      Wismer

                      Commentaire

                      Annonce

                      Réduire
                      1 sur 2 < >

                      C'est [Réglé] et on n'en parle plus ?

                      A quoi ça sert ?
                      La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                      Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                      Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                      Comment ajouter la mention [Réglé] à votre discussion ?
                      1 - Aller sur votre discussion et éditer votre premier message :


                      2 - Cliquer sur la liste déroulante Préfixe.

                      3 - Choisir le préfixe [Réglé].


                      4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                      2 sur 2 < >

                      Assistance au forum - Outil de publication d'infos de votre site

                      Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                      Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                      Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                      UTILISER À VOS PROPRES RISQUES :
                      L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                      Problèmes connus :
                      FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                      Installation :

                      1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                      Archive zip : https://github.com/AFUJ/FPA/zipball/master

                      2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                      3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                      4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                      5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                      6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                      et remplacer www. votresite .com par votre nom de domaine


                      Exemples:
                      Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/
                      Pour executer le script: http://www..com/fpa-fr.php

                      Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/cms/
                      Pour executer le script: http://www..com/cms/fpa-fr.php

                      En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                      Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                      Voir plus
                      Voir moins
                      Travaille ...
                      X