von FrediL |
Also ich habe das jetzt mal nach deinem Format (ohne LIMIT 1, da hat es nicht funktioniert) abgeändert und hoffe mal, dass es jetzt geht.
Wenn nicht, dann melde ich mich nochmal. |
von Philipp Gérard |
Ahja, der INSERT-Befehl ist auch falsch. Muster:
1: | INSERT INTO table (id,text,name,foo,...) VALUES ('1','lala','hans','folo','...') LIMIT 1 |
|
von FrediL |
Tja, es funktioniert immer noch nicht richtig. Denn wieder wurde ein Besucher mit der gleichen IP mehrfach (ca. 100x) eingetragen. Woran kann das liegen?
Bei navigator.appVersion wurde folgendes eingetragen: 4.0 (compatible; MSIE 5.01; Windows NT; QXW03307)
Vielleicht hilft es ja? |
von Philipp Gérard |
schreib die statistik.php erstmal so um:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: | <?php
//datenbank-verbindung auswählen
require_once('db_connection.php');
mysql_select_db($database_db_connection, $db_connection);
$datum = mktime() - '900';
$ip = $REMOTE_ADDR;
$query_stat = mysql_query("SELECT sum(*) FROM statistik WHERE ip='$ip' AND datum >= '$datum'",$db_connection);
$result_stat = mysql_result($query_stat,0,0);
if($result_stat >= 1){
# user schon eingetragen
}
else {
include 'statistik_abfragen.php';
exit;
}
?> |
|
von FrediL |
Hallo !!!
Ich habe mir ein Statistik-Tool programmiert, das zu Beginn jeder Seite includet wird. Es überprüft zuerst, ob mit der IP schon ein Eintrag in den letzten 15min. getätigt wurde. Wenn nicht, dann werden die benötigten Angaben ausgelesen (mit JS) und an eine andere Seite weitergegeben. Diese schreibt die Infos in die Datenbank und verlinkt zurück zur Ausgangsseite. Das funktioniert auch so bei mir und einigen Tests. Nur leider kommt es immer mal wieder vor, dass ein Besucher mehrere 100x gewertet wird. Ich habe allerdings keine Ahnung wieseo !!! ???
statistik.php (wird in jede Seite includet):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18: | <?php
//datenbank-verbindung auswählen
require_once('conn.php');
mysql_select_db($database_db_connection, $db_connection);
$datum = mktime() - '900';
$ip = $REMOTE_ADDR;
$query_stat = "SELECT ip FROM statistik WHERE ip='$ip' AND datum >= '$datum'";
$result_stat = mysql_query($query_stat, $db_connection) or die(mysql_error());
if ($row_stat = mysql_fetch_array($result_stat) == '0')
{
include 'statistik_abfragen.php';
exit;
}
?> |
statistik_abfragen.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: | <?php
echo "<script language=\"JavaScript1.2\">
<!--
var screenwidth = screen.width
var screenheight = screen.height
var screenavailwidth = screen.availWidth
var screenavailheight = screen.availHeight
var screencolordepth = screen.colorDepth
var documenturl = document.URL
var navigatorappName = navigator.appName
var navigatorappVersion= navigator.appVersion
var navigatorlanguage = navigator.language
var navigatorplatform = navigator.platform
location = \"statistik_eintragen.php\"
+ \"?screenwidth=\" + screenwidth
+ \"&screenheight=\" + screenheight
+ \"&screencolordepth=\" + screencolordepth
+ \"&screenavailwidth=\" + screenavailwidth
+ \"&screenavailheight=\" + screenavailheight
+ \"&navigatorappName=\" + navigatorappName
+ \"&navigatorappVersion=\" + navigatorappVersion
+ \"&navigatorlanguage=\" + navigatorlanguage
+ \"&navigatorplatform=\" + navigatorplatform
+ \"&documenturl=\" + documenturl;
//-->
</SCRIPT>";
?> |
statistik_eintragen.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: | <?php
//datenbank-verbindung auswählen
require_once('conn.php');
mysql_select_db($database_db_connection, $db_connection);
$datum = mktime();
//eintragen
$sql1 = "INSERT INTO statistik SET
ip = '$REMOTE_ADDR',
datum = '$datum',
screenwidth = '$screenwidth',
screenheight = '$screenheight',
screencolordepth = '$screencolordepth',
screenavailheight = '$screenavailheight',
screenavailwidth = '$screenavailwidth',
navigatorappName = '$navigatorappName',
navigatorappVersion= '$navigatorappVersion',
navigatorlanguage = '$navigatorlanguage',
navigatorplatform = '$navigatorplatform',
documenturl = '$documenturl'";
$result1 = mysql_query($sql1);
header("Location: $documenturl");
exit;
?> |
Ich hoffe mal, dass mir jmd. weiterhelfen kann. Das ganze habe ich in die Seite www.ergebniswelt.com integriert.
Edit: Anfangs sind Mehrfacheintragungen bei AOL-User aufgetreten. Jetzt scheint es aber auch bei einem anderen User der Fall gewesen zu sein. Ich finde echt keinen Denkfehler in dem Code :-/
---
ergebniswelt.com -> Fußballergebnisse und mehr |
|