Annonce

#1 2011-06-13 18:39:56

Nicolas30
Membre
Nîmes
2010-09-29
156

Compteur de visite simple...

Bonjour,

Pourquoi ne pas prévoir un compteur de visite tout simple ?

Ex :
- Nombre de connecté total
- Nombre de connecté aujourd'hui
- Nombre de connecté actuellement

J'en ai un actuellement sur ma galerie (script PHP), avec un bout de code dans un fichier PHP (compteur.php), qui lui même est inséré dans une frame dans le "footer.tpl"...
Mais pas très propre tout ça !!!

Cordialement


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

#2 2011-06-13 18:57:34

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Compteur de visite simple...

Bonjour,
Il y a toujours le plugin : [extension by VDigital] Whois Online


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2011-06-13 19:16:15

Nicolas30
Membre
Nîmes
2010-09-29
156

Re: Compteur de visite simple...

Gotcha a écrit:

Bonjour,
Il y a toujours le plugin : [extension by VDigital] Whois Online

Salut Gotcha,

Désolé de dire ça, mais il ne me plait pas...

Non un truc comme l'image jointe, quelque chose de simple, mais qu'il soit intégré ou en plugin...
De plus mon compteur me semble faux, si j'en crois le "résumé" de l'historique...
En effet mon compteur affiche 4 visiteurs (dont moi) et l'historique 7 (sans moi)...

Donc un petit truc, juste et plus propre que mon bibouillage...

Cdt


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

#4 2011-06-13 19:52:20

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Compteur de visite simple...

Nicolas30 a écrit:

Désolé de dire ça, mais il ne me plait pas...

Ne soit pas dsl chacun as le droit d'avoir ces propres gout ;-)

Ce que tu peux peux être faire c'est jouer avec le fichier du plugin pour présenter à ta façon
les données ont l'air identique

Tu peux également faire un nouveau plugin pour la communauté :-)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#5 2011-06-13 19:56:50

Nicolas30
Membre
Nîmes
2010-09-29
156

Re: Compteur de visite simple...

ddtddt a écrit:

Tu peux également faire un nouveau plugin pour la communauté :-)

Si seulement je pouvais...
Je serais ravi de pouvoir programmer des plugins, mais ma connaissance en matière de dévellopement s’arrête ici ...

Par contre j'ai un script PHP de compteur, si tu le veux, ça peux te donner une idée pour un plugin...

Cdt


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

#6 2011-06-13 20:02:37

flop25
Équipe Piwigo
2006-07-06
6544

Re: Compteur de visite simple...

juste sur la différence du nombre de "visite" : les deux ne comptent peut être pas de la même façon (ex un rafraichissement de la page compte double pour l'un et pas pour l'autre)

Hors ligne

#7 2011-06-13 20:03:13

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Compteur de visite simple...

Nicolas30 a écrit:

Si seulement je pouvais...
Je serais ravi de pouvoir programmer des plugins, mais ma connaissance en matière de dévellopement s’arrête ici ...

Quand j'ai découvert Piwigo je ne savais même pas que le php existait
En observant les plugin de mes petits camarades j'ai réussis à comprendre 2/3 trucs

Donc si tu te lance dans un plugin, on sera la pour t'aider ;-)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#8 2011-06-13 21:32:16

Nicolas30
Membre
Nîmes
2010-09-29
156

Re: Compteur de visite simple...

ddtddt a écrit:

Quand j'ai découvert Piwigo je ne savais même pas que le php existait
En observant les plugin de mes petits camarades j'ai réussis à comprendre 2/3 trucs

Donc si tu te lance dans un plugin, on sera la pour t'aider ;-)

Ouais... bas y'a bien du boulot...

Parce que j'ai essayé en utilisant 'LocalFiles Editor' onglet 'plugin personnel', y mettre mon code PHP...
Ce qui donnais

Code:

<?php
/*
Plugin Name: Plugin Personnel
Version: 1.0
Description: Plugin Personnel
Plugin URI: http://piwigo.org
Author:
Author URI:
*/
include("./visite/visite.php");
print"Total visiteurs: $compteur&nbsp;&nbsp;&nbsp;~~&nbsp;&nbsp;";
print"$compteur_j visiteur(s) aujourdhui&nbsp;&nbsp;&nbsp;~~&nbsp;&nbsp;";
print"$compteur_c visiteur(s) actuellement";
?>

et pouf !!!
Plantage total de la galerie...

Alors y'a encore du boulot...
Mais je vais insister

Cdt


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

#9 2011-06-13 22:17:01

flop25
Équipe Piwigo
2006-07-06
6544

Re: Compteur de visite simple...

^^
c'est normal : alors petite explication
Php génère du html ça tu le sais ^^, mais piwigo utilise SMARTY un moteur de template qui va gérer lui même l'affichage. Piwigo lui passe des variables (regarde template->assign() ) et lui passe les fichiers tpl à "parser" -cad à interpréter-

Code:

$template->assign(array(
    'MA_VAR' => 'toto'  ));

ceci attribue au tag {$MA_VAR} la valeur toto
puis dans un tpl on mettra ce tag qui sera remplacé par toto donc.
Tu peux regarder Image Preview pour t'aider : il est très simple

Je te conseille plutot de prendre le plugin existant et de le modifier puis de publier ta version en tant que nouveau plugin.

Hors ligne

#10 2011-06-13 22:18:15

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Compteur de visite simple...

il y a quoi dans visite.php ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#11 2011-06-13 22:43:13

Nicolas30
Membre
Nîmes
2010-09-29
156

Re: Compteur de visite simple...

ddtddt a écrit:

il y a quoi dans visite.php ?

Code:

<?
include("./visite/connect_visite.php") ;

//on recupere l adresse ip du visiteur
if($_SERVER)   {
        if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
              $adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
          elseif(isset($_SERVER['HTTP_CLIENT_IP']))
              $adress = $_SERVER['HTTP_CLIENT_IP'];
          else
              $adress = $_SERVER['REMOTE_ADDR'];
      }
 else     {
          if(getenv('HTTP_X_FORWARDED_FOR'))
              $adress = getenv('HTTP_X_FORWARDED_FOR');
          elseif(getenv('HTTP_CLIENT_IP'))
              $adress = getenv('HTTP_CLIENT_IP');
          else
              $adress = getenv('REMOTE_ADDR');
      }

//on verifie si on a pas changé de jour et on recupere le chiffre du compteur
$sql="select * from compteur_visite where ip='compteur'";
$res=mysql_query($sql, $db);
$ligne = mysql_fetch_object ($res);
$date = date("Y-m-d");

//on convertit l heure courante en minute d une journee
$time=(date("H") * 60) + date("i");

//on recupere le compteur courant et le temps t
$compteur=$ligne->compteur;
$t=$ligne->time; //temps de connexion de reference
$d=$ligne->duree; //duree de renouvellement de reference

//on test si on a changé de jour
if ($date!="$ligne->date")
{
  //on vide toutes les addresses ip enregistrées dans la table lors du changement de jour
  $sql="delete from compteur_visite where ip!='compteur'";
  $res=mysql_query($sql, $db) or die ("requete invalide supp ip");
  //on met a jour la nouvelle date dans la table
  $sql="update compteur_visite set date='$date'";
  $res=mysql_query($sql, $db) or die ("requete invalide maj date");
}

//on verifie l adresse ip du visiteur et aussi son heure de passage
$sql="select * from compteur_visite where ip='$adress'";
$res=mysql_query($sql, $db) or die ("requete invalide verif ip");
$ligne = mysql_fetch_object ($res);
$num_rows =mysql_numrows ($res);
if ($num_rows==0)
{
  //on enregistre l adresse ip si elle est inconnu et on incremente le compteur
  $sql="insert into compteur_visite (ip,time,duree) values ('$adress','$time','$time')";
  $res=mysql_query($sql, $db)or die ("requete invalide enr ip");
  $compteur+=1;
  $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
  $res=mysql_query($sql, $db) or die ("requete invalide up compt");
}
else
{
  //si l'adresse ip est connu alors verifie si sa connexion precedente est superieur a la durée
  //de renouvellement et si son heure de passage precedente incremente ou pas les connectés
  $time1=$ligne->time; //on recupere l'heure de sa precedente connexion de notre connecté
  $duree1=$ligne->duree; //on recupere l'heure de sa precedente connexion de notre connecté
  
  // on verifie si sa derniere connexion ne date pas de plus que la duree de reference
  if ($d*60<($time - ($duree1)))
  {
    //si la duree de reference est depassé alors notre connecté est comptablisé 
    //comme nouvelle visite et on met a jour sa nouvelle heure de passage
    $sql="update compteur_visite set time=$time,duree=$time where ip='$adress'";
    $res=mysql_query($sql, $db) or die ("requete invalide maj time");
    
    //on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
    $adress1=$adress.".".$compteur;
    $sql="insert into compteur_visite (ip,time,duree) values ('$adress1','$time','$time')";
    $res=mysql_query($sql, $db)or die ("requete invalide enr ip");
    
    //et on increment le compteur de visite
    $compteur+=1;
    $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide up compt");
  }
  else
  {
    //on met a jour son heure de passage si elle est superieure a t
    if ($time>(($time1)-$t))
    {
      $sql="update compteur_visite set time=$time where ip='$adress'";
      $res=mysql_query($sql, $db) or die ("requete invalide maj time");
    }
  }
}


//on compte le nb de connecté de la journée
$sql="select * from compteur_visite";
$res=mysql_query($sql, $db) or die ("requete invalide compte visiteur journee");
$compteur_j=(mysql_numrows ($res))-1;

//on compte le nb de connecté
$time=$time-$t;
$sql="select * from compteur_visite where time>=$time and ip!='compteur'";
$res=mysql_query($sql, $db) or die ("requete invalide compte visisteur connecté");
$compteur_c=mysql_numrows ($res);
mysql_free_result($res);
mysql_close();
?>

Je vais voir ça demain...

Merci à bientot


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

#12 2011-06-14 07:22:16

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Compteur de visite simple...

je dirais que le problème viens de l'ouverture de la connexion à la base de données qui ferme celle de Piwigo.

Dans ce cas je dirais qu'il te faut plutôt 'laisser' vivre ton scipt a coté.
Réaliser un page html dans lequel  il s'affiche

et utiliser le plugin statistique pour le faire apparaitre sur ta galerie


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#13 2011-06-14 13:42:17

Nicolas30
Membre
Nîmes
2010-09-29
156

Re: Compteur de visite simple...

ddtddt a écrit:

Réaliser un page html dans lequel  il s'affiche

C'est ce que j'ai fait... (html renommé en php)

ddtddt a écrit:

et utiliser le plugin statistique pour le faire apparaitre sur ta galerie

Je l'ai mis dans une Frame, dans le Footer...


Les petites annonces gratuites du Gard --> Annonces Gard

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact