Statistik |
Beiträge: 144.530 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 172%
Ausl. d. letzten 5 Minuten: 161%
Ausl. d. letzten 15 Minuten: 158%
Aktulle Uhrzeit: 10:28
Freier Webspace: 4.02 TB
PHP-Version: 7.4.33
|
|
|
|
|
Fehler nach Einbau von 'Profile Visits' |
|
Ööööhmmmm..........und jetzt????
Ich häng mal die profile.php dran :
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
/* Visitor-Hack by speedy */
$datei = "bb" . $n . "_profilevisits" ;
/* Nicht zu berücksichtigende User-IDs; array( 2,6,12) */
$idexclude = array(); if ( ( $userid != $wbbuserdata['userid'] ) and ( !in_array($wbbuserdata['userid'], $idexclude ) ) ) { $db->query("INSERT INTO $datei set profile_id=$userid,visitor_id=" . $wbbuserdata['userid'] . ",art='V'") ;
$result = $db->query_first("Select visitor_id from $datei where profile_id=$userid and art='C'");
if (!$result) {
$db->query("Insert into $datei set profile_id=$userid,visitor_id=1,art='C'") ; } else { $counter = $result[0] + 1 ; $db->query("Update $datei set visitor_id=$counter where profile_id=$userid and art='C'") ; } } $display_guests = 1 ;
/* 0-Besucher NICHT anzeigen / 1-Besucher anzeigen */
$limit = 10 ;
/* Anzahl anzuzeigender Sätze */
$output = "<table>" ;
/* Arbeitsvariable für Ausgabe im Template */
$result = $db->query_first("Select visitor_id from $datei where profile_id=$userid and art='C'"); $visitorcounter = $result[0] ; $abfrage = "SELECT v.profile_id, v.visitor_id, v.art, v.datum, date_format(v.datum,'%d.%m.%Y %H:%i'), u.username FROM $datei v LEFT JOIN bb" . $n . "_users u ON (u.userid=v.visitor_id) WHERE v.profile_id=$userid AND v.art='V' ".(($display_guests==0) ? ("AND v.visitor_id>0 ") : (""))."ORDER BY v.datum desc LIMIT 0,$limit" ;
$result=$db->query($abfrage); while ($row = $db->fetch_array($result)) {
$visitor = $row[1]; $ldate = $row[3]; $datum = $row[4]; $name = $row[5]; if ($name=="") { $name="Besucher" ; } $output .= "<tr><td><span class='normalfont'>".$name."</span></td>" ;
$output .= "<td><span class='normalfont'>".$datum."</span></td></tr>" ; } $output .= "</table>" ;
$db->query("Delete from $datei where profile_id=$userid and art='V' and datum<$ldate") ;
/* Visitor-Hack by speedy */ |
|
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von wizards: 21.08.2008 23:54.
|
|
21.08.2008 23:37 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.743.384
Nächster Level: 266.777.854
|
|
Hallo,
ich kenne nur den Code der eingebaut werden musst.
|
|
|
|
Zitat:
//=========================================================================
================
// Visitor-Hack by speedy Version 1.4
//=========================================================================
================
// .....................................
// PARAMETER ZUM SPEICHERN DER BESUCHER
// ............. ========= .............
// Anzahl Sekunden, die vergehen müssen, bevor der Benutzer erneut eingetragen wird
// 0 -> kein Timeout
$timeout = 1800 ;
// Deaktiviert den Timeout nach einem Datumswechsel
// 0 - kein Timeout-Reset
// 1 - Timeout wird wird bei Datumswechsel außer Kraft gesetzt.
$timeout_reset = 0 ;
// Nicht zu speichernde User-IDs: array( 1,2,6,12)
$idexclude = array();
// ....................................
// PARAMETER ZUM ANZEIGEN DER BESUCHER
// ............. ======== .............
// Anzahl anzuzeigender Sätze
$limit = 10 ;
// 0-Besucher NICHT anzeigen / 1-Besucher anzeigen
$display_guests = 1 ;
// Anzeigen Besucher der letzten X Stunden. 0 - alle anzeigen
$timewindow = 0 ;
// Liste nur für Profilbesitzer sichtbar: 1 - ja / 0 - nein, für alle sichtbar
$profileowner = 0;
// Diese User-IDs können die Liste AUF JEDEN FALL einsehen: array( 1,12)
$idinclude = array();
/*-------------------------------------------------------------------------
---------------*/
// Arbeitsvariablen
// Dateiname
$datei = "bb" . $n . "_profilevisits" ;
// Ausgabefeld
$output = "<table>" ;
// Besucher
$visitor = $wbbuserdata['userid'];
// Template anzeigen?
$showit = 1 ;
$period = date( "YmdHis", date('U') - $timewindow * 3600 ) ;
/*-------------------------------------------------------------------------
---------------*/
if ( ( $userid != $visitor ) and ( !in_array($visitor, $idexclude ) ) ) :
if ( $timeout == 0 ) : // Kein TimeOut
$doit = 1 ;
else: // TimeOut gesetzt
$result = $db->query_first("Select datum from $datei where profile_id='$userid' and visitor_id='$visitor' and art='V' ORDER BY datum DESC");
$tag = substr( $result[0],6,2 ) ;
$mon = substr( $result[0],4,2 ) ;
$jahr = substr( $result[0],0,4 ) ;
$std = substr( $result[0],8,2 ) ;
$min = substr( $result[0],10,2 ) ;
$sec = substr( $result[0],12,2 ) ;
$last = mktime($std,$min,$sec,$mon,$tag,$jahr) ;
$diff = mktime() - $last ;
// TimeOut noch nicht abgelaufen?
if ( $diff < $timeout ):
// TimeOut nach Datumswechsel resetten?
if ( $timeout_reset == 1 ):
if ( date("Ymd") == substr($result[0],0,
): // same date
$doit = 0 ; // kein Eintrag
else: // date changed
$doit = 1 ;
endif;
else:
$doit = 0 ;
endif;
else:
$doit = 1 ;
endif;
endif;
// Eintrag wird geschrieben
if ($doit>0) :
$db->query("INSERT INTO $datei set profile_id='$userid',visitor_id='$visitor',art='V'") ;
$result = $db->query_first("Select visitor_id from $datei where profile_id='$userid' and art='C'");
if (!$result) :
$db->query("Insert into $datei set profile_id=$userid,visitor_id=1,art='C'") ;
else:
$counter = $result[0] + 1 ;
$db->query("Update $datei set visitor_id=$counter where profile_id=$userid and art='C'") ;
endif;
endif;
endif;
$result = $db->query_first("Select visitor_id from $datei where profile_id=$userid and art='C'");
$visitorcounter = $result[0] ;
$abfrage = "SELECT v.profile_id, v.visitor_id, v.art, v.datum, date_format(v.datum,'%d.%m.%Y %H:%i'), u.username FROM $datei v LEFT JOIN bb" . $n . "_users u ON (u.userid=v.visitor_id) WHERE v.profile_id=$userid AND v.art='V' ".(($display_guests==0) ? ("AND v.visitor_id>0 ") : ("")).
(($timewindow>0) ? ("AND date_format(v.datum,'%Y%m%d%H%i%s')>$period ") : ("")).
"ORDER BY v.datum desc LIMIT 0,$limit" ;
$x = 0 ; /* interner Zähler */
$result=$db->query($abfrage);
while ($row = $db->fetch_array($result)) :
$visitor = $row[1];
$ldate = $row[3];
$datum = $row[4];
if ($row[5]=="") :
($visitor==0) ? $name="Besucher" : $name="" ;
else:
$name="<a href='profile.php?userid=$visitor'>" . $row[5] . "</a>" ;
endif;
if ( $name!="" ):
$x++ ;
$output .= "<tr><td><span class='normalfont'>".$name."</span></td>" ;
$output .= "<td><span class='normalfont'>".$datum."</span></td></tr>" ;
endif;
endwhile;
$result = $db->query_first("Select visitor_id from $datei where profile_id=$userid and art='D'");
if (!$result) :
$db->query("Insert into $datei set profile_id=$userid,visitor_id=1,art='D'") ;
$displaylist = "yes" ;
else:
$displaylist = ($result[0]==0) ? "no" : "yes" ;
endif;
$ownprofil = ( $userid==$wbbuserdata['userid']) ;
$showit = ($ownprofil OR ($profileowner==0 AND $displaylist=="yes") OR in_array($visitor, $idinclude) ) ;
if ($x>=$limit) :
$db->query("Delete from $datei where profile_id=$userid and art='V' and datum<'$ldate'") ;
endif;
$output .= "</table>" ;
//=========================================================================
================
// Visitor-Hack by speedy
//=========================================================================
================
|
|
|
|
|
|
Hast du da nicht was vergessen.
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
22.08.2008 19:20 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.743.384
Nächster Level: 266.777.854
|
|
|
Zitat: Original von wizards
Hallo Viktor
Ich habe diesen Hack hier von Deiner Database runtergeladen.
Ich habe weder was verändert......kann ich (noch) nicht, noch konnte ich beurteilen,ob der Hack vollständig war.
Ich mache Dir jetzt absolut keinen Vorwurf.......bitte versteh mich richtig!!!
Ich bau gleich mal Deine version ein,und sehe ja dann,ob mein Fehler weg ist.
Danke für Deine Mühe!!!!!!
UUUUUpps...........
bei Dir hat sich der Smilieteufel eingeschlichen
Schau mal hier :
// TimeOut nach Datumswechsel resetten?
if ( $timeout_reset == 1 ):
if ( date("Ymd") == substr($result[0],0,cool ): // same date
Wie lautet der code denn an dieser stelle richtig??? |
|
|
Hallo,
so sieht die Zeile aus.
code: |
1:
2:
|
if ( date("Ymd") == substr($result[0],0,8) ): // same date
|
|
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
22.08.2008 23:49 |
|
|
|
UUUUUpps...........
bei Dir hat sich der Smilieteufel eingeschlichen
Schau mal hier :
// TimeOut nach Datumswechsel resetten?
if ( $timeout_reset == 1 ):
if ( date("Ymd") == substr($result[0],0,cool ): // same date
Wie lautet der code denn an dieser stelle richtig???
Kannst Du mir php nochmal bitte posten???
Dankööööööööööö
|
|
22.08.2008 23:59 |
|
|
|
Habs jetzt doch selbst hinbekommen!
Jetzt rennt der Hack endlich,wie es sein soll.
Dank an Viktor für die richtige php
|
|
23.08.2008 10:43 |
|
|
|
|
|
|