WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » PHP & MySQL: Statistik-Tool funktioniert nicht » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
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

Nach oben