importer des données de formulaire BreezingForms

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

  • [Problème] importer des données de formulaire BreezingForms

    Bonjour,
    Je voudrais importer les renseignements obtenus avec un formulaire BreezingForms pour les publier sur le site public sous forme de catalogue. J'ai fouiné sur bien des forums et dans de nombreux tuto. J'ai cru comprendre que je devais insérer du code PHP dans un article et pour ce faire, j'ai installé "Sourcerer".
    Le problème semble venir de la table qui n'a pas une structure qui ressemble aux tables exemple des tutos. Là, il semble que chaque champ corresponde à un enregistrement (si bien que mon petit formulaire renvoie 7 ou 8 lignes dans la table f38ra_facileforms_records qui contient les données des formulaire; et donc, une instruction telle que
    {?php
    while ($donnees = $reponse->fetch())
    {
    ?>
    <p>
    <strong>Jeu</strong> : <?php echo $donnees['titre']; ?>
    ...etc
    me déclenche une erreur
    Parse error: syntax error, unexpected 'titre' (T_STRING) in C:\xampp\htdocs\essais\acces_base.php on line 18

    Je joins une "copie" de la table en question, et de laquelle je ne voudrais retirer que les renseignements du champ 'value' mais en les regroupant par 6, 7 ou 8, comme ils étaient rentrés dans le formulaire ! ! !

    Mes connaissances en PHP ne sont que celles d'un débutant, mais qui demande à grandir.
    Merci pour toute aide
    Fichiers joints

  • #2
    Re : importer des données de formulaire BreezingForms

    Bonjour,

    Le contenu de chaque form se trouve dans les subrecords, avec un enregistrement par champ du formulaire.

    Le select doit se faire sur #__facileforms_subrecords
    Code PHP:
    $query 'SELECT * FROM #__facileforms_subrecords WHERE record=' $record_voulu ;
    $db JFactory::getDbo() ;
    $db->setQuery$query ) ;
    $res $db->loadObjectList() ;
    foreach ( 
    $res as $rec ) {
       
    // ton bidouillage sur les records

    Ce n'esdt qu'un snippet indiquant la démarche, pas le code réel adapté à ton formulaire particulier.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : importer des données de formulaire BreezingForms

      Merci de t'intéresser à mon problème. J'ai bien intégré ton code mais ...

      $db = JFactory::getDbo() ;

      Cette ligne me renvoie une erreur :

      Fatal error: Class 'JFactory' not found in C:\xampp\htdocs\essais\base.php on line 11

      et je ne vois pas où je suis !

      Commentaire


      • #4
        Re : importer des données de formulaire BreezingForms

        Fatal error: Class 'JFactory' not found in C:\xampp\htdocs\essais\base.php on line 11
        A quoi rime ce base.php, qui n'est pas du Joomla! ?

        Le code sourcerer doit normalement être directement intégré dans le corps de l'article, et non dans un fichier externe. En intégrant directement le code dans l'article, tu as accès au framework Joomla!, et donc entre autres aux classes de base, dont JFactory et JDatabase.

        Dans un fichier externe, il faut commencer par importer le framework Joomla! avant de l'utiliser.
        Code PHP:
        define('_JEXEC'1);
        define('JPATH_BASE'__DIR__);
        require_once 
        JPATH_BASE '/includes/defines.php';

        $app JFactory::getApplication('site');
        // et le reste du code personnel utilisant le framework 
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : importer des données de formulaire BreezingForms

          base.php est un fichier d'essai que je faisais en dehors de joomla.
          Je vais essayer de créer un article avec ce code PHP dans mon site local pour tester.
          A plus tard

          Commentaire


          • #6
            Re : importer des données de formulaire BreezingForms

            ça ne donne rien dans un article joomla et comme il ne précise pas l'erreur, j'ai concocté un nouveau fichier externe pour tester.Ce fichier s'appelle acces.php

            <?php
            define('_JEXEC', 1);
            define('JPATH_BASE','localhost/joomla3');
            require_once JPATH_BASE . '/includes/defines.php';
            $app = JFactory::getApplication('localhost/joomla3');
            $query = 'SELECT * FROM #__facileforms_subrecords WHERE record=' . $titre ;
            $db = JFactory::getDbo() ;
            $db->setQuery( $query ) ;
            $res = $db->loadObjectList() ;
            foreach ( $res as $rec ) {
            // ton bidouillage sur les records
            echo $res;
            }

            ?>[/INDENT]

            et voilà le message obtenu :
            Warning: require_once(localhost/joomla3/includes/defines.php): failed to open stream: No such file or directory in C:\xampp\htdocs\essais\acces.php on line 4

            Fatal error: require_once(): Failed opening required 'localhost/joomla3/includes/defines.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\essais\acces.php on line 4

            pourtant le fichier define.php existe bien dans ce répertoire !

            Je finis par être complètement perdu et je me demande si ça vaut vraiment le coup que je continue.
            Je ne t'en voudrai pas si tu décides d'arrêter ton assistance, mais pourrais-tu au moins me conseiller un bon tuto.
            J'ai déjà suivi le cours du zéro, mais je ne reconnais pas la structure de ma table.

            Commentaire


            • #7
              Re : importer des données de formulaire BreezingForms

              Ton "localhost/joomla3" ne doit pas exister en tant que répertoire physique sur ton disque...

              Pour être certain d'avoir le bon chemin utiliser exactement ce qui est mis dans le snippet de code, à savoir utiliser la constante PHP __DIR__ et non autre chose
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #8
                Re : importer des données de formulaire BreezingForms

                J'ai refait mon fichier comme tu m'avais montré (enfin je crois)
                <?php
                define('_JEXEC', 1);
                define('JPATH_BASE',_DIR_);
                require_once JPASS_BASE. '/includes/defines.php';

                $app = JFactory::getApplication('site');
                $query = 'SELECT * FROM #__facileforms_subrecords WHERE record=' . $titre ;
                $db = JFactory::getDbo() ;
                $db->setQuery( $query ) ;
                $res = $db->loadObjectList() ;
                foreach ( $res as $rec ) {
                // ton bidouillage sur les records
                echo $res.$rec;
                }

                ?>
                ceci dans un fichier à côté de mon site local
                et voilà la réponse:

                Notice: Use of undefined constant _DIR_ - assumed '_DIR_' in C:\xampp\htdocs\essais\acces.php on line 3

                Notice: Use of undefined constant JPASS_BASE - assumed 'JPASS_BASE' in C:\xampp\htdocs\essais\acces.php on line 4

                Warning: require_once(JPASS_BASE/includes/defines.php): failed to open stream: No such file or directory in C:\xampp\htdocs\essais\acces.php on line 4

                Fatal error: require_once(): Failed opening required 'JPASS_BASE/includes/defines.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\essais\acces.php on line 4

                Commentaire


                • #9
                  Re : importer des données de formulaire BreezingForms

                  De ce que je lis, on a
                  underscore DIR underscore, alors que le code donné utilise la constante PHP underscore underscore DIR underscore underscore

                  Donc 2 caractères soulignés avant et après DIR !

                  Ce n'est quand même pas la mort d'utiliser le copier-coller pour ne pas faire d'erreurs aussi grossières.
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : importer des données de formulaire BreezingForms

                    J'ai repris mes études et voilà ce que j'ai inséré dans un article de joomla :
                    <?php
                    try
                    { $bdd = new PDO('mysql:host=localhost;dbname=frru', 'root', '');}
                    catch (Exception $e)
                    { die('Erreur : ' . $e->getMessage());}
                    echo 'ça marche !'.'<br />'.'J\'écris les titres : '.'<br /.>';
                    $reponse = $bdd->query('SELECT * FROM f38ra_facileforms_subrecords ');
                    WHILE ($donnees = $reponse->fetch())
                    { echo $donnees['value'].' <br />';}
                    ?>


                    Je suis enfin parvenu à faire afficher quelque chose, mais sans distinction des différents champs du formulaire. Dans ma table, j'ai un champ "record" qui porte le même numéro pendant les 7 ou 8 enregistrements qui correspondent aux champs de mon formulaire; comment faire pour regrouper ces enregistrement dans la même "ligne" de données ? Il faudrait faire reconnaître ce champ et sa valeur pour pouvoir rassembler les "value" correspondants ....
                    Je cale !
                    Fichiers joints

                    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

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X