YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Zeitzonen-Problem » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 4.793 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Zeitzonen-Problem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
admin77 admin77 ist männlich
Mitglied


Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3

Ohhhh Zeitzonen-Problem Antworten Zitieren Editieren Melden       UP

Hallo liebe Gemeinde,
habe ein hack für mein wbb-board (wer war da hack) eingebaut,
da der server in malaysia ist geht der hack irgendwie verkehrt,
nun habe ich es hinbekommen,daß wenigstens die zeit richtig dargestellt wird,da vorher die zeit von malaysia dargestellt wurde, jedoch ist die zeitumstellung für den neuen tag falsch.

Der Tag beginnt natürlich um 0:00 Uhr und dann erstellt der hack eine Liste wer an diesem tag online war und um welche Uhrzeit.

Aber wenn es bei uns 0:00 Uhr ist wird die Liste nicht neu erstellt,sprich es beginnt somit kein neuer Tag,dies geschieht erst um 18:00 Uhr unserer Zeit,
dann ist es in malaysia genau 0:00 Uhr.

Ich hoffe,daß mir jemand helfen kann um den schönheitsfehler zu behben,da etliche versuche auf irgendwelchen board nichts gebracht haben und ich das gefühl habe,daß man dazu ein php-experte sein muß.

wäre irgendwie cool,wenn man alles auf MEZ umstellen könnte,
ich selbst weiß leider nicht wie.

Hier ist der Code-Schnipsel nur des Wer war da-hacks aus der index.php,kann man da was machen,reicht das aus oder muß man da was anderes ändern?:

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:
if ($showuservisited == 1) {
$membercount 0;
$invisiblecount 0;
$curdate strftime("%m %d %Y",time());
$date explode(" "$curdate);
$timestamp mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC"); 
while ($row $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 18);
$membercount++;
if ($row['invisible'] == 1$invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited $online->useronlinebit;
$totaluservisited $membercount;
if ($totaluservisited $rekord_visited) {
$rekord_visited $totaluservisited;
$rekordtime_visited time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'"1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'"1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000$totaluservisited number_format($totaluservisited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000$invisiblecount number_format($invisiblecount0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000$rekord_visited number_format($rekord_visited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS '';
$membercount '';
}
if ($invisiblecount == 1$uservisited_GHOSTS $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount 1$uservisited_GHOSTS $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE'$membercount_visited' => $membercount'$uservisited_MEMBERS' => $uservisited_MEMBERS'$uservisited_GHOSTS' => $uservisited_GHOSTS'$uservisited_AND' => $uservisited_AND'$rekord_visited' => $rekord_visited'$uservisited_USER' => $uservisited_USER'$rekorddate_visited' => $rekorddate_visited'$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE'$totaluservisited' => $totaluservisited'$uservisited_USER' => $uservisited_USER));
}


Ich wäre echt dankbar,wenn man mir weiterhelfen könnte.

MfG

Pablo

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von admin77: 01.07.07 00:23.

01.07.07 00:22 admin77 ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Versetehe ich dich richtig? Malaysische Zeit - 18h = unsere Zeit?

Dann versuch es mal mit folgendem Code anstatt deinem:
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:
if ($showuservisited == 1) {
$membercount 0;
$invisiblecount 0;
$time floor(time()-(18*60*60));
$curdate strftime("%m %d %Y",$time);
$date explode(" "$curdate);
$timestamp mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC"); 
while ($row $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 18);
$membercount++;
if ($row['invisible'] == 1$invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited $online->useronlinebit;
$totaluservisited $membercount;
if ($totaluservisited $rekord_visited) {
$rekord_visited $totaluservisited;
$rekordtime_visited time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'"1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'"1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000$totaluservisited number_format($totaluservisited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000$invisiblecount number_format($invisiblecount0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000$rekord_visited number_format($rekord_visited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS '';
$membercount '';
}
if ($invisiblecount == 1$uservisited_GHOSTS $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount 1$uservisited_GHOSTS $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE'$membercount_visited' => $membercount'$uservisited_MEMBERS' => $uservisited_MEMBERS'$uservisited_GHOSTS' => $uservisited_GHOSTS'$uservisited_AND' => $uservisited_AND'$rekord_visited' => $rekord_visited'$uservisited_USER' => $uservisited_USER'$rekorddate_visited' => $rekorddate_visited'$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE'$totaluservisited' => $totaluservisited'$uservisited_USER' => $uservisited_USER));
}
01.07.07 10:57 [kamui] ist offline Finden Als Freund hinzufügen
admin77 admin77 ist männlich
Mitglied


Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3

Themenstarter Thema begonnen von admin77
Antworten Zitieren Editieren Melden       UP

Die malaysische Zeit geht 6 Stunden vor,
Wenn bei uns 18:00 ist,so ist es in Malaysia 0:00 Uhr und ein neuer Tag bricht ein,daher die neue Liste im wer war da hack.
Mithin sind wir 6 Stunden zurück,siehe dir meinen code an,
die zeit geht dann richtig aber der hack richtet sich,auch wenn die zeit richtig angezeigt wird,an die malaysische zeit,so daß um 18:00 unserer zeit und der zeit aufm Board,was ja eingestellt worden ist,siehe code,ein neue Tag einbricht,
obwohl wir noch 6 Stunden hätten.
01.07.07 22:11 admin77 ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

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:
if ($showuservisited == 1) {
$membercount 0;
$invisiblecount 0;
$time floor(time()-(6*60*60));
$curdate strftime("%m %d %Y",$time);
$date explode(" "$curdate);
$timestamp mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC"); 
while ($row $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 18);
$membercount++;
if ($row['invisible'] == 1$invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited $online->useronlinebit;
$totaluservisited $membercount;
if ($totaluservisited $rekord_visited) {
$rekord_visited $totaluservisited;
$rekordtime_visited time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'"1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'"1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000$totaluservisited number_format($totaluservisited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000$invisiblecount number_format($invisiblecount0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000$rekord_visited number_format($rekord_visited0""$lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount 1$uservisited_MEMBERS $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS '';
$membercount '';
}
if ($invisiblecount == 1$uservisited_GHOSTS $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount 1$uservisited_GHOSTS $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE'$membercount_visited' => $membercount'$uservisited_MEMBERS' => $uservisited_MEMBERS'$uservisited_GHOSTS' => $uservisited_GHOSTS'$uservisited_AND' => $uservisited_AND'$rekord_visited' => $rekord_visited'$uservisited_USER' => $uservisited_USER'$rekorddate_visited' => $rekorddate_visited'$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE'$totaluservisited' => $totaluservisited'$uservisited_USER' => $uservisited_USER));
}


Probier es mal so
02.07.07 13:42 [kamui] ist offline Finden Als Freund hinzufügen
admin77 admin77 ist männlich
Mitglied


Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3

Themenstarter Thema begonnen von admin77
Antworten Zitieren Editieren Melden       UP

Wo ist der Unterschied zu meinem Code?
MfG
02.07.07 14:51 admin77 ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

php:
1:
2:
$time floor(time()-(6*60*60));
$curdate strftime("%m %d %Y",$time);


Damit nehme ich die Serverzeit ( time() ) und reduziere die um 6 Stunden ( in Sekunden wird das gemessen Augenzwinkern )
02.07.07 15:05 [kamui] ist offline Finden Als Freund hinzufügen
admin77 admin77 ist männlich
Mitglied


Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3

Themenstarter Thema begonnen von admin77
Antworten Zitieren Editieren Melden       UP

Zitat:
Ich habe nur gefragt,weil das keine Änderung gebracht hat,
ich meine,daß die Liste des wer war da hacks sich nicht geändert hat (Leere Liste ab 0:00 Uhr),
ich warte mal bis 18:00 Uhr ab,
vorher gasbs um die Zeit immer eine neue Liste und spätestens um 0:00
MEZ wird man sehen,ob das was gebracht hat,
ich danke dir für deine mühe.werde mich dann melden.
MfG


So kurzreport:

Um 18:00 Uhr MEZ wurde schon mal keine neue Liste erzeugt,
das ist schonmal gut.
um 0:00 Uhr MEZ sollte eine neu Liste erstellt werden,wurde auch,aber es wurden nicht nur die user,die sich um 0:00 Uhr und später eingeloggt haben
in der Liste angezeigt sondern alle User die sich seit 18:00 Uhr MEZ des Vortages eingeloggt hatten. (0:00 Malaysischer Zeit)

Hmmmm
Was ist bloß falsch gelaufen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von admin77: 03.07.07 00:07.

02.07.07 15:11 admin77 ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Ich kann mir am Wochenende den Hack nochmal genauer anschauen, aber jetzt konkret nicht weiterhelfen ... Vielleicht hilft dir ja ein anderer netter Y******-User derweil Augenzwinkern
05.07.07 14:00 [kamui] ist offline Finden Als Freund hinzufügen
Hamsterinfos Hamsterinfos ist männlich
Mitglied


Dabei seit: 20.04.09
Beiträge: 474
Fähigkeiten: WBB3 Profi
Forenversion: 3.1

Antworten Zitieren Editieren Melden       UP

verwirrt verwirrt verwirrt Warum ein Server in Malaysia verwirrt verwirrt verwirrt
10.07.07 11:22 Hamsterinfos ist offline WWW Finden Als Freund hinzufügen
admin77 admin77 ist männlich
Mitglied


Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3

Themenstarter Thema begonnen von admin77
Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Stubsnase
verwirrt verwirrt verwirrt Warum ein Server in Malaysia verwirrt verwirrt verwirrt


LOL,
ich mache schon nichts illegales,
es geht um die malaysische Küche,Rezepte etc...
ist nur die auch der sprache mächtig sind,
alternativ gibts dieses forum:
http://www.malaysiaforum.de/html/modules...rum.php?forum=8
für deutschsprechende.
Die malaysische Küche ist super lecker,
schau dich im oberen forum mal um,
gibts ne menge interesaantes.


Zu meinem problem:
Die Zeit im wer war da hack spinnt imer noch.... verwirrt
11.07.07 00:30 admin77 ist offline E-Mail Finden Als Freund hinzufügen
chill-underground chill-underground ist männlich
Mitglied


Dabei seit: 29.05.07
Beiträge: 43
Herkunft: Deutschland
Forenversion: 3.0

Antworten Zitieren Editieren Melden       UP

Hi,

ich habe genau das selbe Problem, nur mein Forum liegt auf einem Server in den USA^^ Der code von meinem Hack ist wie folgt:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
/* ############## USER HEUTE ############## */
$usertoday=0;
$usertodaybit='';
$result $db->query("SELECT lastactivity, username, userid, invisible FROM bb".$n."_users ORDER BY lastactivity DESC");
while($row $db->fetch_array($result)) {
 $zeit date("dmY"$row['lastactivity']);
 $jetzt date("dmY");
 $last date('H:i:s',$row['lastactivity']);
 if(!$row['invisible'] && $zeit==$jetzt) {
  $usertoday++;
  if($usertoday=="1") {
  $war 'war';
  $reg 'registrierter';
  } else {
  $war 'waren';
  $reg 'registrierte';
  }
  if(isset($usertodaybit) && $usertodaybit != ''$usertodaybit .= ', ';
  eval ("\$usertodaybit .= \"".$tpl->get("index_useronline").' (zuletzt um '.$last.')'."\";");
 }
}
/* ############## USER HEUTE ############## */


Bitte um Hilfe.

edit: Hat sich erledigt^^

MfG

BlackDuck

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von chill-underground: 18.11.07 13:41.

17.11.07 10:29 chill-underground ist offline E-Mail WWW Finden Als Freund hinzufügen Füge chill-underground in deine Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Zeitzonen-Problem