Bonjour,
J'ai récupéré sur le net un compteur de visite avec bdd MySql le souci est qu'il m'affiche cette erreur et le nombre de visiteur.
Merci d'avance.
TABLE :Warning: date_timezone_set() expects exactly 2 parameters, 1 given in...on line 12.
12 visiteurs aujourd'hui.
compte.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE IF NOT EXISTS `compteur` ( `ip` char(30) NOT NULL DEFAULT '', `date` char(15) NOT NULL DEFAULT '', KEY `id` (`ip`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `compteur` (`ip`, `date`) VALUES ('10', 'cpt_total'), ('127.0.0.1', '29-04-2013');
ligne dans index.php
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 <?php $mysql_host = 'mysql5-13.perso'; ///--- host de votre hébergeur $mysql_user = 'test'; ///--- login de votre base Mysql $mysql_password = 'passe'; ///--- mot passe de votre base Mysql $mysql_base = 'test'; ///--- nom de votre base Mysql $base = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion MysQL"); mysql_select_db($mysql_base,$base) or die ("erreur de connexion à la base"); //// Récupération de la date actuelle //// $date=date_timezone_set("d-m-Y"); //// Requête qui compte le nombre d'enregistrements dont la date est différente de la date actuelle //// $cpt="SELECT * FROM compteur WHERE date!='$date'"; $req=mysql_query($cpt); $res=mysql_num_rows($req); $res2=($res-1); $sql_req="UPDATE compteur SET ip=(ip+$res2) WHERE date='cpt_total'"; $upd=mysql_query($sql_req); //// On efface ensuite les enregistrements dont la date est différente de la date actuelle //// $delete="DELETE FROM compteur WHERE date!='$date' && date!='cpt_total'"; $query=mysql_query($delete); //// On récupère l'adresse IP du visiteur //// $ip="$_SERVER[REMOTE_ADDR]"; //// On vérifie que cette adresse IP n'est pas déjà présente dans la table //// $requete="SELECT * FROM compteur WHERE date='$date' && ip='$ip'"; $res=mysql_query($requete); $num=mysql_num_rows($res); //// Si un enregistrement contient déjà cette IP alors il ne se passe rien //// if($num!=0) { } //// Sinon on insère l'IP et la date //// else { $insert="INSERT INTO compteur (ip,date) VALUES('$ip','$date')"; $query=mysql_query($insert); } //// On récupère la valeur du compteur total //// $select_tot=mysql_query("SELECT ip FROM compteur WHERE date='cpt_total'"); $compteur_tot=mysql_fetch_array ($select_tot); $select = mysql_query("SELECT ip FROM compteur WHERE date='$date'"); $compteur = mysql_num_rows($select); $tot = ($compteur_tot['ip']+$compteur); if($tot>1) {$s="s";} else {$s="";} echo "$tot"; mysql_close(); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php include("compteur/compt.php") ?> visiteurs aujourd'hui.
Partager