Bizarrement, mon compteur vient de tomber à 0

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bizarrement, mon compteur vient de tomber à 0

Voici le code

par [email protected] » 21 oct. 2006, 11:29


<?
/*
    Admin Counter- GuppY PHP Script - version 4.5
    CeCILL Copyright (C) 2004-2005 by Laurent Duveau
    Initiated by Laurent Duveau and Nicolas Alvès,
    followed by Albert Aymard, Jean Michel Misrachi and all the Team
      Web site = http://www.freeguppy.org/
      e-mail   = [email protected]

    Version History :
      v1.0 (30 December 2002)  : initial release
      v1.9 (11 February 2003)  : added update of statsbk.dtb and reset of ipstats.dtb when the counter value is manually changed
      v2.3 (27 July 2003)      : added forms style management (by Nicolas Alves)
      v2.4 (24 September 2003) : created $dbstats, $dbipstats, $dbstatsbk and $dbcounter variables
      v3.0 (25 February 2004)  : added skins management (by Nicolas Alves)
      v4.0 (06 December 2004)  : added page title, counter management (by Jean-Mi)
                                 added alt tags to img and removed border tag for non-linked img (by Isa)
				                 added multi-admin management, updated counter management (by Nicolas Alves)
	  v4.5 (22 April 2005)     : corrected actions "vider" and "reduire" (by Jean-Mi)
								 corrected function DiffDate to prevent division by 0 (by Jean-Mi)
*/

if (stristr($_SERVER["SCRIPT_NAME"], "counter.inc")) {
  header("location:../index.php");
  die();
}

@include(REDACREP.$userprefs[1].INCEXT);
if(FileDBExist(REDACREP.$userprefs[1].INCEXT) && $drtuser[31]=="") {
$nomzone=$admin17;
include("access.inc");
}
else {
	switch($actlog) {
		case "vider" :
			$tmplog1 = file(DBLOGSTATS);
			$tmplog2 = array();
			/// Corrigé borne basse de la boucle
			for($i = max(0, count($tmplog1)-2); $i < count($tmplog1); $i++) {
				$tmplog2[][0] = $tmplog1[$i];
			}
			WriteDBFields(DBLOGSTATS, $tmplog2);
			break;
		case "reduire" :
			$tmplog1 = file(DBLOGSTATS);
			$tmplog2 = array();
			/// Corrigé borne basse de la boucle
			for($i = max(0, count($tmplog1)-9); $i < count($tmplog1); $i++) {
				$tmplog2[][0] = $tmplog1[$i];
			}
			WriteDBFields(DBLOGSTATS, $tmplog2);
			break;
	}
	if ($visites == 1) {
    if ($numeric < 1) $numeric = 1;
	  WriteCounter(DBSTATS,$numeric);
	  WriteCounter(DBSTATSBK,$numeric);
	  WriteFullDB(DBIPSTATS,"\n");
		$tmpdate = ReadCounter(DBLOGDATE);
		$tmplog1 = file(DBLOGSTATS);
		$tmplog2 = array();
		for($i = 0; $i < count($tmplog1)-1; $i++) {
			$tmplog2[][0] = $tmplog1[$i];
		}
		WriteDBFields(DBLOGSTATS, $tmplog2);
		WriteCounter(DBLOGDATE, "");				
	}
	$pgvues = ReadCounter(DBSTATS);
	$topmess = $admin141;
	include(CHEMIN."inc/hpage.inc");
	htable($admin141, "100%");
?>
<div align="center">
<a href="admin.php?lng=<? echo $lng; ?>&pg=count"><? echo $admin657; ?></a> || <a href="admin.php?lng=<? echo $lng; ?>"><? echo $admin22; ?></a> || <b><a href="admin.php?lng=<? echo $lng; ?>&logout=1"><? echo $admin19; ?></a></b>
<hr /><br />
<form action="admin.php?lng=<? echo $lng; ?>" method="post">
<input type="hidden" name="lng" value="<? echo $lng; ?>">
<input type="hidden" name="pg" value="counter">
<input type="hidden" name="visites" value="1">
<table cellspacing="0" cellpadding="0" align="center" border="0">
<tr><td align="center"><? echo $admin142; ?></td></tr>
<tr><td align="center"><input class="texte" type="text" name="numeric" size="6" value="<? echo $pgvues; ?>">&nbsp;<? echo $boutonleft; ?><input class="bouton" type="submit" value="<? echo $admin144; ?>"><? echo $boutonright; ?></td></tr>
</table></form>
<?
	if (is_file(DBLOGSTATS)) {
		function DiffDate($d1, $d2) {
			list($j1, $m1, $a1) = explode("/", $d1);
			list($j2, $m2, $a2) = explode("/", $d2);
			$result = (mktime(0, 0, 0, $m1, $j1, $a1) - mktime(0, 0, 0, $m2, $j2, $a2))/86400;
			/// Corrigé la valeur de retour pour eviter tout risque de division par un nombre < 1
			return min(1, $result);
		}
		$dblog1 = file(DBLOGSTATS);
		if (count($dblog1) > 2) {
			for($i=0; $i<count($dblog1); $i++) {
			$dblog2 = explode(";", $dblog1[$i]);
			$dblog3[$i][0] = $dblog2[0];
			$dblog3[$i][1] = $dblog2[1];
			$dblog3[$i][2] = ($i == 0 ? 0 : ($dblog2[1] - $dblog3[$i - 1][1])/DiffDate($dblog2[0], $dblog3[$i - 1][0]));
			}
			$countmax = 1;
			for($i=1; $i<count($dblog3); $i++) {
				$dblog3[$i][2] = ($dblog3[$i][1] - $dblog3[$i - 1][1])/DiffDate($dblog3[$i][0],$dblog3[$i - 1][0]);
				if ($dblog3[$i][2] < 0) {
					$dblog3[$i][1] = $dblog3[$i-1][1]+$dblog3[$i-1][2]*($dblog3[$i][0]-$dblog3[$i-1][0]);
					$dblog3[$i][2] = $dblog3[$i-1][2];
					$dblog3[$i][3] = " style='color:red'";
					$dblog3[$i][4] = CHEMIN."inc/img/bars/rouge.gif";
				}
				else {
					$dblog3[$i][3] = "";
					$dblog3[$i][4] = CHEMIN."inc/img/bars/vert.gif";
				}
				$countmax = max($countmax, $dblog3[$i][1]);
			}
			$countmax = max(1, $countmax);
			$countmin = 999999999;
			for($i=count($dblog3)-1; $i>max(count($dblog3)-16, 0); $i--) {
				$countmin = min($countmin, $dblog3[$i][1]);
			}
			echo "<p>&nbsp;</p><hr /><table cellspacing='10' cellpadding='0' align='center' width='95%' border='0'>";
			echo "<tr><td colspan=3 align=center><b>".$admin750."</td></tr>";
			echo "<tr align='center'><td width='15%'>".$admin751."</td><td width='15%'>".$admin752."</td><td width='70%'>".$admin753."</td></tr>";
			for($i=count($dblog3)-1; $i>max(count($dblog3)-16, 0); $i--) {
				$pourcent = 20 + ($dblog3[$i][1] - $countmin)/($countmax - $countmin)*80;
				echo "<tr><td align='center'>".$dblog3[$i][0]."</td><td align='center' ".$dblog3[$i][3].">".$dblog3[$i][1]."</td><td><img src=".$dblog3[$i][4]." height='10' width='".$pourcent."%' alt='".$pourcent."%'></td></tr>";
			}
			echo "</table>";
			echo "<p align=center><a href='".CHEMIN."admin/admin.php?lng=".$lng."&pg=counter&actlog=vider'>$admin754</a> || <a href='".CHEMIN."admin/admin.php?lng=".$lng."&pg=counter&actlog=reduire'>$admin755</a></p>";
			echo "<hr />";
		}
	}
?>
<a href="admin.php?lng=<? echo $lng; ?>&pg=count"><? echo $admin657; ?></a> || <a href="admin.php?lng=<? echo $lng; ?>"><? echo $admin22; ?></a> || <b><a href="admin.php?lng=<? echo $lng; ?>&logout=1"><? echo $admin19; ?></a></b>
</div>
<?
	btable();
	include(CHEMIN."inc/bpage.inc");
}
?>

par albat » 21 oct. 2006, 11:19

Le code de ton fichier counter.inc pourrait opportunément nous aider à y voir plus clair... ;)

Bizarrement, mon compteur vient de tomber à 0

par Ichtos » 21 oct. 2006, 09:28

Bonjour a tous. Je ne sais pas si je suis sur le bon forum, mais bon, comme je débute...

Alors voila, j'ai un site sous CMS guppy (PHP) hébérgé chez free. Voila l'adresse: http://pascalroche94.free.fr

Alors que j'allais allegrement crever le plafond des 2000 visites, mon compteur vient soudainement de passer à 0...Bizarre bizarre.

Le site me renvoie le message d'erreur suivant:

Warning: Division by zero in /mnt/112/sdc/5/4/pascalroche94/admin/inc/counter.inc on line 99

Warning: Division by zero in /mnt/112/sdc/5/4/pascalroche94/admin/inc/counter.inc on line 103

Lignes 99 et 103 donc de mon counter.inc donc

Je vais voir le fichier, mais la, c'est du charabia pour moi...

Quelqu'un à t'il une idée du problème au vu du message d'érreur ?

Merci d'avance pour vos avis experts.

Pascal