Ik ben een website gestart waar bezoekers prijzen kunnen winnen. De werking is simpel, een gebruiker wordt opgeslagen in een database aan de hand van zijn/haar ip-adres. Wanneer de bezoeker de pagina vernieuwd wordt het ip-adres vergeleken aan de hand van zijn/haar timestamp met de currenttime. Als er meer dan 3600 seconden tussen zit telt de bezoeker weer als nieuwe bezoeker. Dit zodat gebruikers niet continue F5-en om prijzen te winnen.
Ik wil nu graag bezoekers die op banners klikken belonen, wanneer een bezoeker op een google advertentie klikt wil ik dat de bezoeker direct weer telt als 'nieuwe' bezoeker. Hoe kan ik er voor zorgen dat na een klik op een google advertentie de database wordt aangepast? De code die ik nu heb staat hieronder:
Ik wil nu graag bezoekers die op banners klikken belonen, wanneer een bezoeker op een google advertentie klikt wil ik dat de bezoeker direct weer telt als 'nieuwe' bezoeker. Hoe kan ik er voor zorgen dat na een klik op een google advertentie de database wordt aangepast? De code die ik nu heb staat hieronder:
PHP:
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
| $link = mysql_connect($host, $username, $password) or die("kan niet met database verbinden"); mysql_select_db($dbase) or die("kan database niet selecteren"); $queryLOCK = "LOCK TABLES teller WRITE, ipadressen WRITE, prizes WRITE"; $resultLOCK = mysql_query($queryLOCK) or die("Can't lock tables"); $queryTELLER = "SELECT * FROM teller"; $resultTELLER = mysql_query($queryTELLER) or die("Can't retrieve count"); $aantal = mysql_result($resultTELLER,0,'teller'); $visitorip = trim($_SERVER['REMOTE_ADDR']); $currenttime = time(); $queryCHECKIP = "SELECT * FROM ipadressen WHERE ipadres='$visitorip'"; $resultCHECKIP = mysql_query($queryCHECKIP) or die("Can't check"); if (mysql_num_rows($resultCHECKIP) == 0) { $aantal++; $queryINSERTIP = "INSERT INTO ipadressen(ipadres,timestamp,lastvisitorcount,totalvisitcount) VALUES('$visitorip',$currenttime,$aantal,1)"; $resultINSERTIP = mysql_query($queryINSERTIP) or die("Can't insert"); $queryINCREASETELLER = "UPDATE teller SET teller = teller + 1"; $resultINCREASETELLER = mysql_query($queryINCREASETELLER) or die("Can't increase"); $lastvisitorcount = $aantal; $totalvisitcount = 1; $usertext = ""; } else { $timestamp = mysql_result($resultCHECKIP,0,'timestamp'); $totalvisitcount = mysql_result($resultCHECKIP,0,'totalvisitcount'); $lastvisitorcount = mysql_result($resultCHECKIP,0,'lastvisitorcount'); if (($currenttime - $timestamp) > 3600) { $queryINCREASETELLER = "UPDATE teller SET teller = teller + 1"; $resultINCREASETELLER = mysql_query($queryINCREASETELLER) or die("Can't update 1"); $aantal++; $queryUPDATEIP = "UPDATE ipadressen SET timestamp = $currenttime, lastvisitorcount = $aantal, totalvisitcount=totalvisitcount+1 WHERE ipadres = '$visitorip'"; $resultUPDATEIP = mysql_query($queryUPDATEIP) or die("Can't update 2"); $lastvisitorcount = $aantal; $totalvisitcount++; $usertext = ""; } else { $usertext = "Je bent al geweest bla bla bla"; } } $queryCHECKPRIZE = "SELECT * FROM prizes WHERE id=$lastvisitorcount"; $resultCHECKPRIZE = mysql_query($queryCHECKPRIZE) or die("Can't check 2"); if (mysql_num_rows($resultCHECKPRIZE) == 1) { // JOEPIE JE HEBT EEN PRIJS GEWONNEN $prizename = mysql_result($resultCHECKPRIZE,0,'prizename'); $ipadres = mysql_result($resultCHECKPRIZE,0,'ipadres'); $timestamp = mysql_result($resultCHECKPRIZE,0,'timestamp'); if (is_null($ipadres)) { // WINNAAR EERSTE KEER DAT IE HET ZIET ?><meta http-equiv="refresh" content="0; URL=wonprize.php?id=<? echo $lastvisitorcount; ?>"><? $queryUPDATEPRIZE = "UPDATE prizes SET ipadres='$visitorip', timestamp=$currenttime WHERE id=$aantal"; $resultUPDATEPRIZE = mysql_query($queryUPDATEPRIZE) or die("Can't update 3"); } else { // WINNAAR REFRESH } } if ($aantal == 100000000000000000) { } else { } $queryUNLOCK = "UNLOCK TABLES"; $resultUNLOCK = mysql_query($queryUNLOCK) or die("Can't unlock tables"); ?> |
© kwanten 2001