Bonjour,
Je suis en train de développer un petit annuaire de lien.
Pour eviter la triche au niveau du comptage des hit IN j'ai commencé à mettre en place à système de contrôle par ip.
C'est à dire qu'un seul hit par visiteur ne sera compté par tranche de 24 heures.
Donc avant de mettre à jour le nombre de hits in dans la base je fais ce type de contrôle
Voici ma table
Voici mon code php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 links_history_ip_id int(11) Non auto_increment links_id int(11) Non 0 ip_hits varchar(15) Non 0 links_history_ip_date datetime Non 0000-00-00 00:00:00
Al'endroit ou j'ai mis les !!!!!!!!(dans la clause where) je souhaite mettre donc cette portion de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function tep_check_unique_hit($link_id) { $count_hit = false; $ip_address = tep_get_ip_address(); $ip_count_query = tep_db_query("select count(*) as total from " . TABLE_LINKS_HISTORY_IP . " where ip_hits = '" . $ip_address . "' and links_id = '" . (int)$link_id . "'"); !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ip_count = tep_db_fetch_array($ip_count_query); if ($ip_count['total'] == 0) { INSERT in table $count_hit = true; } return $count_hit; }
Le problème c'est que je ne parvient pas à mettre ça dans une syntaxe correcte merci de me filer un coup de main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 and date_format(now(), '%Y%m%d %H:%i:%s') > date_format(links_history_ip_date, '%Y%m%d %H:%i:%s')+24 hours
Autrement je peux insérer cette portion de contrôle sur la date comme ceci
Voilà donc si quelqun pouvait me filer un coup de main sur la syntaxe pour le controle sur les enreigstrements inférieures à 24 heures et me dire quelle solution utilisée entre la première et la deuxième ce serait sympathique
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 function tep_check_unique_hit($link_id) { $count_hit = false; $ip_address = tep_get_ip_address(); $ip_count_query = tep_db_query("select * from " . TABLE_LINKS_HISTORY_IP . " where ip_hits = '" . $ip_address . "' and links_id = '" . (int)$link_id . "'"); if (tep_db_num_rows($ip_count_query)) { while ($ip_count = tep_db_fetch_array($ip_count_query)) { !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if ( date('Y-m-d H:i:s') > ($ip_count['links_history_ip_date']+24) ) { tep_db_query("insert into " . TABLE_LINKS_HISTORY_IP . " (links_id, ip_hits, links_history_ip_date) values ('" . (int)$link_id . "', '" . $ip_address . "', now())"); $count_hit = true; } } } return $count_hit; }
Merci
![]()
Partager