Statistik |
Beiträge: 144.534 (Täglich: 19,19 )
Themen: 16.701
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 477%
Ausl. d. letzten 5 Minuten: 483%
Ausl. d. letzten 15 Minuten: 470%
Aktulle Uhrzeit: 08:54
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
|
|
|
ProfileVisits 1.4 -> kein Timeout |
|
Hallo zusammen, ich habe ein kleines Problem.
Habe mir den Profilhack "ProfileVisits 1.4" in mein Board eingebunden. Alles hat soweit geklappt und läuft fehlerfrei. Leider scheint die Timeoutfunktion fehlerhaft zu sein. Ich habe Zeiten zwischen 1800 und 86400 Minuten ausprobiert, ohne Erfolg. Der Zähler zählt unaufhaltsam weiter und die Liste der Besucher wird immer länger.
Was habe ich falsch gemacht. Könnt ihr mich bitte helfen?
|
Zitat: // Anzahl Sekunden, die vergehen müssen, bevor der Benutzer erneut eingetragen wird
// 0 -> kein Timeout
$timeout = 86400 ;
|
|
|
|
|
10.03.2006 20:18 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Hi michaz,
kannst du mal ALLE Einstellungen angeben?
Greets, speedy
|
|
10.03.2006 21:37 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Kein Problem, ich hoffe das ist das Richtige:
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:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
|
//=========================================================================================
// 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 = 86400 ;
// Deaktiviert den Timeout nach einem Datumswechsel
// 0 - kein Timeout-Reset
// 1 - Timeout wird wird bei Datumswechsel außer Kraft gesetzt.
$timeout_reset = 1 ;
// Nicht zu speichernde User-IDs: array( 1,2,6,12)
$idexclude = array(1);
// ....................................
// 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(1);
/*----------------------------------------------------------------------------------------*/
// 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,8) ): // 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
//========================================================================================= |
|
|
|
10.03.2006 21:49 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Also: laut deinen Einstellungen wird jeder Besucher nur ein einziges Mal pro Tag gespeichert. Ausnahme ist der User mit der ID #1, der wird gar nicht notiert.
Mal ne dumme Frage: hast du nach den jeweiligen Änderungen die PROFILE.PHP wieder auf den Server geladen?
Greets, speedy
|
|
10.03.2006 22:51 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Ja, die Einstellungen sind korrekt, so ist es gewollt.
Hab die Datei profile.php sicherheitshalber nochmal ins Hauptverzeichnis kopiert. Funzt leider immernoch nicht.
Kann man bei der Installation was falsch machen? Vielleicht sollte ich den Hack nochmal neuinstallieren.
|
Zitat: Wer war da?
Besucher 10.03.2006 22:58
Besucher 10.03.2006 22:57
Besucher 10.03.2006 22:57
|
|
|
|
|
10.03.2006 23:01 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
In dieser Einstellung muss alles korrekt funktionieren. Die einzige Erklärung, die mir dazu einfällt ist, dass nicht die PROFILE.PHP läuft, die du im Beitrag ausgewiesen hast. Kontrolliere das bitte noch einmal sorgfältig. Öffne sie dazu auf dem Server und schau sie dir an!
Greets, speedy
|
|
11.03.2006 07:39 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Hab ich gemacht. Ist die korrekte profile.php. Außerdem werden die Visits von der UserID 1 auch net geloggt, so wie es gewollt ist und konfiguriert ist. Nur die Timeoutfunktion will net.
Kann ich irgendwas neu einbinden? Vielleicht mal der Hack nochmal installieren? Verzweifel schon
|
|
11.03.2006 13:03 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Hi,
Nein, neu einbinden bringt gar nichts.
Geh mal ins ACP und schau unter 'Einstellungen' das Datumsformat unter 'Datum & Uhrzeit' nach. Ist das d.m.Y ???
Greets, speedy
|
|
11.03.2006 14:31 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
d.m.Y, ja so ist es eingestellt.
Ich hab das JGS-Portal 3.1.0 (+Galeire und Chat), einen Guthabenhack und einen "Herz verschenken" Hack in mein Forum mit eingebunden.
Kann das damit was zutun haben?
|
|
11.03.2006 16:56 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Die anderen Hacks haben rein gar nichts damit zu tun.
Ich habe momentan auch keinen Plan, an was es liegen könnte.
Der nächste Schritt wäre jetzt, die Datei 'bb1_profilevisits' zu examinieren.
Wenn du über den phpMyAdmin reingehst und diese Datei in eine Textdatei ausgibst, diese mir dann per PN schickst, dann kann ich weitere Schritte unternehmen.
Greets, speedy
|
|
11.03.2006 18:46 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Hallo michaz,
hab deine PN mit der DB-Tabelle bekommen. Liegt das am Auszug oder steht das Datum tatsächlich in der Form YYYY-MM-DD hh:mm:ss drin? Kannst du sicherheitshalber nochmal mit phpMyAdmin nachsehen? Da das Feld im Original als Timestamp angelegt ist, muss das Datum in der Form YYYYMMDDhhmmss drinstehen. Sieh mal nach und meld dich wieder!
Greets, speedy
|
|
12.03.2006 07:12 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Ja, ich hab nocheinmal nachgeschaut. Sie liegen tatsächlich im Format YYYY-MM-DD hh:mm:ss vor. Hab da aber nichts dran verändert.
So ist übrigens das Standard Zeit-, Datumformat vom Forum eingestellt.
Gruß
|
|
12.03.2006 13:47 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Das ist höchst seltsam.
Bitte schick mir mal einen Strukturdump der Datei bb1_profilevisits.
Wäre doch gelacht, wenn wir keine Lösung fänden ...
Greets, speedy
|
|
12.03.2006 14:39 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Hallo michaz,
ja, die Struktur stimmt. Allerdings wird ein timestamp-Feld immer in der Form YYYYMMDDhhmmss gespeichert, weshalb ich nicht verstehe, wie die Dati in der Form vorliegen können, die du mir mit der ersten PN geschickt hast.
Das das Ganze offfensichtlich per Forum nicht befriedigend geklärt werden kann, sehe ich nur noch den einen Weg, dass du mir die Zugangsdaten sowohl zu deinem Programmserver wie auch die zu deiner Datenbank gibst, damit ich mir die Daten persönlich anschauen kann.
Wenn du zu diesem Schritt bereit bist, schick mir eine PN mit den erforderlichen Zugangsdaten.
Greets, speedy
|
|
12.03.2006 15:57 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Danke für dein Angebot, muss es aber leider ablehnen. Habe da leider schlechte Erfahrungen mit machen müssen. Hoffe du kannst mir trotzdem weiterhelfen.
Momentan hab ich folgende PHP Version auf dem Server: 4.1.15-Debian_0.dotdeb.0-log
Der Zeichensatz ist auf latin1_german1_ci gestellt. Vielleicht hilft das ja.
Kann ich das Format nicht selbst auf YYYYMMDDhhmmss umstellen? Ich glaube YYYY-MM-DD hh:mm:ss ist nämlich als Standard definiert.
Gruß
|
|
12.03.2006 20:51 |
|
|
|
|
RE: ProfileVisits 1.4 -> kein Timeout |
|
Das hat nichts mit dem eingestellten Zeichensatz zu tun. TIMESTAMP wird generell im genannten Format gespeichert, deshalb bezweifelte ich deine Aussage über die angefragten Daten.
Dass du mir den Zugang verwehrst, kann ich verstehen und akzeptiere das. Allerdings kommen wir auf die bisherige Weise auch nicht weiter und so wirst du entweder mit der jetzigen Situation leben oder den Hack wieder ausbauen müssen.
An deiner Stelle würde ich die Besucher einfach abschalten ($display_guests=0).
Greets, speedy
|
|
12.03.2006 21:47 |
|
|
|
|
|
Impressum | Datenschutz | Fast-Index
© für wbb2 by Bandy & Geblockte Angriffe: 2.173
Seo Sidemap Powert by 2Clubradio.de
This site or product includes IP2Location LITE data available from https://lite.ip2location.com.
Viktor's Supportboard, ist " Online " seit 20 Jahren, 226 Tage, 14 Stunden, 36 Minuten und 13 Sekunden
|
|
|