Statistik - Informationen in die Datenbank schreiben?!

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Statistik - Informationen in die Datenbank schreiben?!

Beitrag von mgutt »

Ich wollte eine kleine Statistik bauen, in der die referer der Besucher in einer Liste angezeigt werden.

Dafür gibt es nun eine Tablelle namens "phpbb_logdatei". In der constants.php habe ich diese geaddet und als "XSTATS_TABLE" definiert.

dann wollte ich diesen code der page_header.php hinzufügen, aber er schreibt nichts in die tabelle:

Code: Alles auswählen

$xreferer = $_SERVER['HTTP_REFERER'];
$xbrowser = $_SERVER['HTTP_USER_AGENT'];
$xip = $_SERVER['REMOTE_ADDR'];
$xwebseite = $_SERVER['PHP_SELF'];

$sql  = "INSERT INTO ".XSTATS_TABLE ." (referer, browser, ip, webseite) VALUES ('$xreferer', '$xbrowser', '$xip', '$xwebseite')";
wo ist der denkfehler?
Zuletzt geändert von mgutt am 27.07.2005 16:27, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

*bump*
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

*bump*
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

hast auch ein

Code: Alles auswählen

mysql_query($sql);
drin? bzw. die spezielle funktion aus phpBB, die ist in der mysql.php glaub ich drin
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

klar eigentlich logisch.

hatte ich aber irgendwie verpennt, weil ich die fehlermeldung nicht gemacht hatte.

durch die abarbeitung der fehlermeldung wird auch der datensatz erst geschrieben:

Code: Alles auswählen

$xreferer = $_SERVER['HTTP_REFERER'];
$xbrowser = $_SERVER['HTTP_USER_AGENT'];
$xip = $_SERVER['REMOTE_ADDR'];
$xwebseite = $_SERVER['PHP_SELF'];

$sql  = "INSERT INTO ".XSTATS_TABLE ." (referer, browser, ip, webseite) VALUES ('$xreferer', '$xbrowser', '$xip', '$xwebseite')";

if ( !$db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, 'Could not update statistic information', '', __LINE__, __FILE__, $sql);
}
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

wurde XSTATS_TABLE in der constants.php definiert?
gib mal $sql per echo aus
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ja habe ich (siehe auch meinen ersten Post ;) )

jetzt gehts aber auch.

ich habe nochmal ein bisschen verändert:

Code: Alles auswählen

$xreferer = $_SERVER['HTTP_REFERER'];
$xbrowser = $_SERVER['HTTP_USER_AGENT'];
$xip = $_SERVER['REMOTE_ADDR'];
$xwebseite = $_SERVER['PHP_SELF'];

if (!empty($xreferer) && !preg_match("/maxrev/i", $xreferer))
{
	$sql  = "INSERT INTO ".XSTATS_TABLE ." (referer, browser, ip, webseite) VALUES ('$xreferer', '$xbrowser', '$xip', '$xwebseite')";
	if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update statistic information', '', __LINE__, __FILE__, $sql);
		}
}
den preg_match code wollte ich noch verfeinern mit der SERVER_NAME Geschichte, aber irgendwie funzt das nicht.

Ich hatte versucht mit

Code: Alles auswählen

"/.$_SERVER["SERVER_NAME"]./i"
aber das geht leider nicht.

Für's erste siehts aber schon ganz gut aus:

http://www.maxrev.de/auswertung.php?s=0

;)
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Ich habe noch ein paar Modis vorgenommen, da mich die referer von der Suchmaschine nicht mehr interessiert haben, da von dort eigentlich immer Besucher kommen.

Code: Alles auswählen

//
// Statistik Mod Anfang
//
$xreferer = $_SERVER['HTTP_REFERER'];
$xwebseite = $_SERVER['PHP_SELF'];

if ( !empty($xreferer) && !preg_match("/(google|freenet|fireball|yahoo|freunde.koeln|aol|miragorobot|mail.lycos|search.msn|suche.web|superhonda.de|hondaclub-hamm|buethe|hondaclub-neckar|t-online|accord-forum|wwwhonda|tuning-guides|tuningguides|hondachat|honda-chat|jdm-universe.com|civic-forum.com|prelude-forum.com|hondaclub-hildesheim|maxrev|max-rev|hondatreffen.com|jacuta|celler-honda|motorrad-honda|hondaclub-hamm|nippon-tuning.de)/i", $xreferer) )
{
	$sql = "SELECT id FROM ".XSTATS_TABLE ." WHERE referer='$xreferer'";
	$query = mysql_query($sql);
	$ds = mysql_fetch_object($query);
	$id = $ds->id;

	if (empty($id))
	{
		$sql  = "INSERT INTO ".XSTATS_TABLE ." (referer, webseite, counter) VALUES ('$xreferer', '$xwebseite', counter+1)";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update statistic information', '', __LINE__, __FILE__, $sql);
		}
	}
	else
	{
		$sql  = "UPDATE ".XSTATS_TABLE ." SET counter=counter+1 WHERE id='$id'";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update statistic information', '', __LINE__, __FILE__, $sql);
		}
	}
}
//
// Statistik Mod Ende
//

Was im Moment nervt, ist das er im referer den eigenen Domainname nicht per:

Code: Alles auswählen

$_SERVER['HTTP_HOST']
oder

Code: Alles auswählen

$_SERVER['SERVER_NAME']
auszuschließen ist. ich muss alle domains von hand eintippen.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „phpBB 2.0: Mod Support“