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 | <?php date_default_timezone_set('GMT'); function serverToGMTStamp() { // replaces time return time();//-((date("O") / 100)*60*60);// server timestamp to gmt timestmap } function userInputToGMTStamp($userStamp,$userTimeZone) { // to be saved to database return $userStamp-($userTimeZone*60*60);// user timestamp to gmt timestmap } function gmtToUserTime($gmtStamp,$userTimeZone,$format="d-m-Y H:i") { // displayed date /time in user timezone return date($format,$gmtStamp+($userTimeZone*60*60)); } function inputTimetoStamp($input){ if($input){ list($date, $time) = explode(' ',$input); list($hour, $minute) = explode(':',$time); list($month, $day, $year) = explode('/',$date); $input = mktime ($hour, $minute, 0, $day, $month, $year); return $input; } } $databaseDate = '04/06/2012 20:00'; //date in database already $userTimeZone = 1; //compared to gmt $databaseDateTimestamp = 1333742400; // gmt stamp from database $databaseDateTimestampToUser = $databaseDateTimestamp+($userTimeZone*60*60); // to user timezonestamp $serverToGMTStamp = serverToGMTStamp(); $serverToUserGMTtoUser = $serverToGMTStamp+($userTimeZone*60*60); // to user timezonestamp echo 'databaseDateTimestamp (gmt): '.$databaseDateTimestamp.'<br />'; echo 'databaseDateTimestamp date (gmt): '.date("m/d/Y, H:i",$databaseDateTimestamp).'<br /><br />'; echo 'databaseDateTimestamp (user): '.$databaseDateTimestampToUser.'<br />'; echo 'databaseDateTimestamp date (user): '.date("m/d/Y, H:i",$databaseDateTimestampToUser).'<br /><br />'; echo 'serverTimeStamp (gmt): '.$serverToGMTStamp.'<br />'; echo 'serverTimeStamp date (gmt): '.date("m/d/Y, H:i",$serverToGMTStamp).'<br /><br />'; //echo 'serverTimeStamp (user): '.$serverToUserGMTtoUser.'<br />'; //echo 'serverTimeStamp date (user): '.date("m/d/Y, H:i",$serverToUserGMTtoUser).'<br /><br />'; if($serverToUserGMTtoUser>$databaseDateTimestampToUser) { echo 'input time already past by '.(($serverToUserGMTtoUser-$databaseDateTimestampToUser)/(60*60)); } else{ echo 'input time not past'; } exit(); |
1 2 3 4 5 | <?php function serverToGMTStamp() { // replaces time return time(); } ?> |
Voordat je denkt dat je iets fout doet terwijl het niet zo is; momenteel is het voor ons GMT +2 omdat het zomertijd is.quote:Op zaterdag 7 april 2012 18:24 schreef Darkomen het volgende:
Heren,
Ik hoop dat jullie me weer eens kunnen helpen.
Ik ben iets aan het bouwen dat de usertabellen van vbullentin 4 gebruikt.
Hierin staat de usertimezone welke het verschil van hun tijd zone met GMT. bijvoorbeeld voor mijzelf +1
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $wallPosts = array(); $wallPosts=file('wallPost.txt', FILE_IGNORE_NEW_LINES); if(!in_array($_SESSION['uid'], $wallPost)) { $onload = "onload=\"postToWall();\""; $fp = fopen('wallPost.txt', 'a'); fwrite($fp, $_SESSION['uid']."\r\n"); fclose($fp); echo $onload; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $wallPosts = array(); $wallPosts=file('wallPost.txt', FILE_IGNORE_NEW_LINES); print_r($wallPosts); // dit geeft een array terug met de sessieID die HIERONDER geschreven wordt if(!in_array($_SESSION['uid'], $wallPost)) { $onload = "onload=\"postToWall();\""; // wordt niet uitgevoerd $fp = fopen('wallPost.txt', 'a'); //wordt wel uitgevoerd fwrite($fp, $_SESSION['uid']."\r\n"); //wordt wel uitgevoerd fclose($fp); // wordt wel uitgevoerd echo $onload; } ?> |
Nee hij is niet leeg, anders kan hij die ook niet schrijven naar de txt file op regel 8...quote:Op woensdag 11 april 2012 14:50 schreef GlowMouse het volgende:
$_SESSION['uid'] zal wel leeg zijn, maar dat is standaard debugwerk. Regel 2 is overbodig.
string(15) "100003526677056" NULLquote:Op woensdag 11 april 2012 15:01 schreef GlowMouse het volgende:
var_dump($_SESSION['uid'], $wallPost)
Ik delete alle history en browser gegevens tussen elke testquote:
Script loopt gewoon door. UID wordt in de txt file geschreven maar geen 'die'quote:Op woensdag 11 april 2012 15:26 schreef GlowMouse het volgende:
wijzig echo $onload; in die($onload), dan kun je hem niet missen
1 2 3 4 5 6 7 8 9 10 11 | <?php $wallPosts=file('wallPost.txt', FILE_IGNORE_NEW_LINES); if(!in_array($_SESSION['uid'], $wallPosts)) { $onload = "onload=\"postToWall();\""; $fp = fopen('wallPost.txt', 'a'); fwrite($fp, $_SESSION['uid']."\r\n"); fclose($fp); die($onload); } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |