Bonjour à tous,

depuis quelques années je tourne avec un compteur de visite sur mon site.
Mais celui-ci ne fonctionne pas depuis mon passage à php 7.0

Est-ce qu'un âme charitable pourrait me convertir mon code afin que celui-ci fonctionne ? En effet je crois que la manière de se connecter à la bdd n'est plus bonne ...

Merci bien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php
//COMPTEUR
 
		// Noms des variables à afficher :
 
		//number_format($compteur,0,',',' ') => Nombre total de visiteurs
		//number_format($compt_ms,0,',',' ') => Total mensuel de visiteurs
		//number_format($compt_ms1,0,',',' ') => Total mois -1 de visiteurs
		//$compt_j => Total jour de visiteurs
		//$compt_j1 => Total jour -1 de visiteurs
		//$compt_c => Nombre de connectés
		//$plur_v => "s" si plusieurs connectés (fontionne avec $compt_c)		
 
// *****Définition des variables**********
// 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');
  		}
$jour = date("Y-m-d");// Date du jour
$mois = date("m");// mois
$moins=1104537600; // 01/01/2005
$heure=time()-$moins; //	
// ***************		
 
include("config.php");
$connexion = @mysql_connect($dbhost,$dbuser,$dbpass);// ******************************* Connexion à la base
if(!$connexion)
{
print "<p align=center><font face=verdana size=2><b>Connexion impossible au serveur MySQL !!</b></font></p>";
}
		else
		{ // SI CONNEXION OK
mysql_select_db($dbname,$connexion); //selection base
 
// ***** Variables de référence **********
//on recupere les donnés 
$sql="SELECT * FROM $dbtable WHERE ip='compt2'";
$res=mysql_query($sql, $connexion);
$inf1 = mysql_fetch_object ($res);
 
$compt_j1=$inf1->compt_j;//compteur jour-1
$compt_ms1=$inf1->visite;//compteur mensuel -1
//***
$sql="SELECT * FROM $dbtable WHERE ip='compt1'";
$res=mysql_query($sql, $connexion);
$inf1 = mysql_fetch_object ($res);
 
$compt_j=$inf1->compt_j;//compteur jour
$compt_ms=$inf1->visite;//compteur mensuel
$compteur=$inf1->duree;//compteur total
$refer= explode("@",$inf1->refs);//on récupère le temps de visite et la durée de connexion
$t_ref=$refer[1]; // temps de visite de reference en heures
$t_ref=$t_ref*60*60;// temps de visite de reference en secondes
$datesup=$heure-$t_ref;//référence de suppression des IP 
$d_ref=$refer[2]; //duree de connexion de reference en minutes
$d_ref=$d_ref*60; //duree de connexion de reference en secondes
$durée_cnt=$heure-$d_ref;//référence nb de connectés
 
// ***************		
 
	//on vide toutes les addresses ip > temps de visite de reference
	$sql="delete from $dbtable where ip!='compt1' and ip!='compt2' and visite<=$datesup";
	$res=mysql_query($sql, $connexion) or die ("requete invalide del ip");
 
if ($jour!="$inf1->date")//on test si on a changé de jour ************ 
	{	
	$sql="update $dbtable set date='$jour' WHERE ip='compt1'";//on met a jour la nouvelle date dans la table	
	$res=mysql_query($sql, $connexion) or die ("requete invalide maj date");
 
	$sql="update $dbtable set compt_j=$compt_j where ip='compt2'";//on met la valeur jour dans jour-1
	$res=mysql_query($sql, $connexion) or die ("requete invalide maj date");
 
 
	$compt_j=0; // remise à 0 du compteur jour
	$sql="update $dbtable set compt_j=0 WHERE ip='compt1'";
	$res=mysql_query($sql, $connexion) or die ("requete invalide maj date");
 
 
	if ($mois!=substr($inf1->date,5,2))//on test si on a changé de mois
		{
		$sql="update $dbtable set visite=$compt_ms where ip='compt2'";//on met la valeur mois dans mois-1
		$res=mysql_query($sql, $connexion) or die ("requete invalide maj date");
 
		$compt_ms=0; // remise à 0 du compteur mensuel
		$sql="update $dbtable set visite=0 WHERE ip='compt1'";
		$res=mysql_query($sql, $connexion) or die ("requete invalide maj date");
 
		$sql2="OPTIMIZE TABLE $dbtable";//optimisation de la table
		$res2=mysql_query($sql2, $connexion) or die ("requete invalide optimize table");
		}
	}
// ***************
 
//on verifie si l'IP du visiteur et connue
$sql="select ip from $dbtable where ip='$adress'";
$res=mysql_query($sql, $connexion) or die ("requete invalide verif ip");
$num_rows =mysql_numrows ($res);
if ($num_rows==0)
{
	// l adresse IP est INCONNUE on l'enregistre et on incremente les compteurs
	$sql="insert into $dbtable (ip,visite,duree,date) values ('$adress','$heure','$heure','$jour')";
	$res=mysql_query($sql, $connexion)or die ("requete invalide enr ip");
	$compt_j+=1;
	$compt_ms+=1;
	$compteur+=1;
	$sql="update $dbtable set visite=$compt_ms, duree=$compteur, compt_j=$compt_j where ip='compt1'";
	$res=mysql_query($sql, $connexion) or die ("requete invalide up compteur M et G");
}
else
{
	// l adresse IP est CONNUE on met à jour la durée
	$sql="update $dbtable set duree=$heure where ip='$adress'";
	$res=mysql_query($sql, $connexion) or die ("requete invalide maj duree");
}
 
// Calcul du nombre de connectés
$sql="select duree from $dbtable where duree>='$durée_cnt'";
$res=mysql_query($sql, $connexion) or die ("requete invalide verif ip");
$num_rows =mysql_numrows ($res);
$compt_c=$num_rows;
 
 
		}   @mysql_close($connexion); // ********************************** fermeture connexion 
 
($compt_c ==1 )? $plur_v="" : $plur_v="s";//"s" si plusieurs connectés
 
 
?>