Compteur en php

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

  • Compteur en php

    Bonjour à tous,

    et désolé si ce post est mal placé... J'avoue que je ne savais pas trop dans quoi poster ça.

    Sur mon site, les utilisateurs ont la possibilité de télécharger des documents. Je souhaiterais limiter et suivre les téléchargements. N'ayant aucune connaissance en php, je tente quand même ma chance et je vais essayer d'apprendre...

    J'utilise sourcerer pour placer mon code en php. A chaque clic sur un lien (petite image), je souhaite lancer une procédure php. A l'aide de l'id et de la date, je vais agrémenter un compteur dans ma base Mysql pour limiter à 10 téléchargements par jour. La procédure est donc toujours la même mais la fiche téléchargée diffère.

    Est-il possible de créer des liens de type href="fiche12()", d'appliquer une procédure fiche() unique et de suivre le lien fiche12 (différent à chaque fois) ?

  • #2
    Re : Compteur en php

    En utilisant un gestionnaire de téléchargement, tu as automatiquement ce comptage.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Re : Compteur en php

      Bonjour et merci RobertG,

      Malheureusement je ne crois pas que ça me permette de faire pleinement ce que je veux. Tout d'abord parce qu'il y a beaucoup de ces fichiers. Ensuite, je ne suis pas sûr qu'un gestionnaire compte le nombre de téléchargement par utilisateurs, mais plutôt par fichier. Et donc je ne peux pas limiter le nombre de fichier par jour par utilisateur.

      Il y a ensuite régulièrement des mises à jour, et le plus simple pour moi et de traiter ces informations sur un fichier Excel, que j'exporte ensuite et tada !! Il prend automatiquement la forme que j'ai définis dans les paramètres du tableau (je ne me rappelle plus le nom du composant que j'ai utilisé pour ça).

      Donc à mon sens et de la manière dont a été conçu ce site, je pense que pour coller au mieux aux exigences qu'on me fixe, je dois passer par du php... (Si je me trompe alors tant mieux, ça me faciliterais la tâche). Par ailleurs, je compte agrémenter un champ pour savoir les fichier téléchargé par tel utilisateur tel jour. (d'où ma dernière question sur l'appelle à une procédure avec un paramètre)

      Bref, si je ne suis pas clair, je me ferais un plaisir de clarifier les points qui le nécessitent.
      Merci.

      Commentaire


      • #4
        Re : Compteur en php

        Bonjour à tous,

        J'avance doucement dans mon petit bout de code... Mais je bloque sur certains points.

        Je suis a priori connecté à ma base de donnée via php. Pour tester, je fais la requête suivante :

        $sql='SELECT username,name FROM jnew_users';
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        while($data = mysql_fetch_assoc($req))
        {echo '.$data['username'].' '.$data['name'].'};

        Les deux dernières lignes semblent poser problème et affichent la page en question en erreur 500. Je pensais pourtant que la syntaxe était bonne puisque copiée sur un tuto (et adaptée), donc si vous voyez d'où vient mon problème, je suis preneur



        Ensuite, est-il possible avec php ou javascript (ou n'importe quel langage pris en charge par sourcerer puisque j'ai cru comprendre que des interactions sont possible entre les différents langages), de lancer au clic une fonction de ce type :

        Onclick="fichier('lambda')"

        function fichier(x)
        ouvrir x
        alimenter ma base en indiquant que userencours à téléchargé +1 fichier
        ajouter fichier lambda à la liste de ses téléchargements
        end function

        Quel langage paraît le plus approprié ? :/
        Merci et bonne journée.
        Robert.

        Commentaire


        • #5
          Re : Compteur en php

          Bon, j'ai pas mal avancé... Mais je coince sérieusement.
          Voilà où j'en suis.

          Au clic, j'exécute un script Javascript.

          Mon code se trouve dans mon bas de page dans Sourcerer.

          Il faudrait que mon code Javascript appel mon script PHP (dans le même endroit Sourcerer). Dans tous les tutos que j'ai trouvé, le Javascript appel un php externe. Est-il possible d'appeler mon php avec une commande Javascript sur la même page ?

          Pour la suite, mon code php s'exécute et traite ma base de données et doit renvoyer à Javascript la réponse pour savoir si oui ou non je continu mon script Javascript ou non...

          Une idée pour faire le pont entre Javascript et PHP donc ?

          Commentaire


          • #6
            Re : Compteur en php

            Bonjour,

            Hum... ne mélangeons pas tout. Sourcerer permet d'inclure u code JS/PHP/HTML dans les documents, mais...
            Le code JavaScript est exécuté sur le client (le navigateur), le code PHP ne peut s'exécuter que sur le serveur, lors de la création de la page (du document en langage Joomla!) et non comme tu le voudrais.

            Or, les contenus Joomla! (articles, autres composants, modules paramétrés) stockent tout en base de données et non dans des pages PHP.

            Morale, tel que présentée, la chose ne peut fonctionner directement.
            Il faut utiliser les méthodes AJAX : https://docs.joomla.org/Using_Joomla_Ajax_Interface/fr pour gérer le tout.

            Le PHP doit se trouver soit dans un script séparé (en important le framework Joomla!) et la page sur le site doit lancer une requête AJAX pour la mise à jour.

            Dans le code PHP, ce qui a été publié ne respecte absolument pas les APIs de Joomla! et ne fonctionnera pas nativement.
            .La classe JDatabase https://docs.joomla.org/Accessing_th...sing_JDatabase est conçue pour rendre les choses correctement.
            Et pour retrouver l'utilisateur connecté, la classe JUser https://docs.joomla.org/JFactory/getUser aide à s'y retrouver sans créer une usine à gaz.
            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


            • #7
              Re : Compteur en php

              Bonjour,
              Bon pas d'avancer miraculeuse. J'ai donc rédigé mon php sur un script séparé. Mais (contrairement à ce que j'avais lorsqu'il était rédigé sur mon article), le $user=&JFactory::getUser(); ne me permet pas de récupérer les information utilisateur...
              Ma page affiche une erreur 500 malgré une connexion correcte à ma base...
              Je ne comprend pas pourquoi sur une page il arrive à le récupérer, et pas sur une autre... une piste ?

              Commentaire


              • #8
                Re : Compteur en php

                Ton script séparé commence bien par
                Code PHP:
                <?php
                define
                ('_JEXEC'1);
                define('JPATH_BASE'__DIR__);
                require_once 
                JPATH_BASE '/includes/defines.php';
                require_once 
                JPATH_BASE '/includes/framework.php';
                pour importer le framework ?
                Adapter JPATH_BASE si ton script est aileurs qu'à la racine.
                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


                • #9
                  Re : Compteur en php

                  Non, ça n'y était pas... :/ J'ai copié et adapté ton code

                  Code PHP:
                  define('_JEXEC'1); 
                  define('JPATH_BASE'__DIR__); 
                  require_once 
                  JPATH_BASE '/../includes/defines.php'
                  require_once 
                  JPATH_BASE '/../includes/framework.php'
                  Il m'affiche l'erreur suivante :

                  Code HTML:
                  No configuration file found and no installation code available. Exiting...

                  Commentaire


                  • #10
                    Re : Compteur en php

                    Envoyé par Robert44 Voir le message
                    Non, ça n'y était pas... :/ J'ai copié et adapté ton code
                    Hum...
                    Code PHP:
                    <?php
                    define
                    ('_JEXEC'1); 
                    define('JPATH_BASE'__DIR__ '/..' ); 
                    require_once 
                    JPATH_BASE '/includes/defines.php'
                    require_once 
                    JPATH_BASE '/includes/framework.php';
                    JPATH_BASE DOIT OBLIGATOIREMENT pointer vers la base de l'installation Joomla!, dans ce cas, un étage au dessus de ton script.
                    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


                    • #11
                      Re : Compteur en php

                      Ok, j'ai mal placé l'adaptation... :/ Merci.
                      Malheureusement, j'ai toujours l'erreur 500.

                      En trifouillant sur mes autres fichiers php, j'ai tenté avec ce bout de code

                      Code PHP:
                      defined('_JEXEC') or die;
                      include 
                      dirname(__FILE__).DIRECTORY_SEPARATOR.'compteur.php'
                      J'obtiens une page totalement blanche.
                      J'ai pourtant placé ceci dans mon code juste pour vérifier

                      Code PHP:
                      $date date("d-m-Y");
                      echo 
                      $date
                      Mais là, rien ne s'affiche du tout...

                      Commentaire


                      • #12
                        Re : Compteur en php

                        Commences donc par passer le rapport d'erreur de Joomla! en Développement, ça te racontera au moins la cause exacte de l'erreur.
                        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


                        • #13
                          Re : Compteur en php

                          C'est fait via la plateforme d'administration. Comme ça ne change rien j'ai passe aussi le debug de mon fichier configuration.php à development... ça ne change rien...

                          Commentaire


                          • #14
                            Re : Compteur en php

                            Ce qui veut dire que ça plante AVANT le chargeent du framework. Donc soit un fichier introuvable, un problème de droits ou de chemins...
                            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


                            • #15
                              Re : Compteur en php

                              Oh oui le nul... J'ai bien rectifier le code que tu m'as donné mais je n'avais pas supprimer les ../ dans la partie

                              require_once JPATH_BASE . '/includes/defines.php';

                              Bon, le problème maintenant est que, quelque soit mon statut, connecté ou non, le user_id est à 0... :/ J'utilise pourtant bien

                              $user=&JFactory::getUser();
                              $user_id=$user->get('id');
                              echo $user_id;

                              Comme le montrent les recherches web...

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X