Avatar billede kentm Nybegynder
06. juni 2004 - 12:06 Der er 15 kommentarer og
1 løsning

Time plus 9 timer. Hvordan ?

Hey...

Jeg har en gæstebog på min hjemmeside, der bruger time() til at skrive tidpunktet hvornår beskeden er skrevet.

Nu har jeg flyttet min side til en server i usa og har brug for at der skal 9 timer oven i CA tidspunktet.. i selve php koden står det sådan:
$time = time();

Jeg har så prøvet:
$time = time() + (60*60*9);

Men det virkede ik, skrev stadig CA tiden.. nogle der ved hvordan jeg skal gå det skrevet`?
Avatar billede krydset Nybegynder
06. juni 2004 - 12:10 #1
$time = time() + 32400; //9 timer i sec
Avatar billede michael_stim Ekspert
06. juni 2004 - 12:12 #2
Det burde virke?
Hvad med $time = time() + 32400;
Avatar billede michael_stim Ekspert
06. juni 2004 - 12:13 #3
Ups for langsom med lommeregneren ;o)
Avatar billede kentm Nybegynder
06. juni 2004 - 12:15 #4
det hjælper ik og skrive 32400 .. stadig CA tid :-S
Avatar billede kentm Nybegynder
06. juni 2004 - 12:17 #5
Her er lige hele koden, kan jeg regne ud der snart vil blive spurt om :-):
////////////////////////////
// Get Datas
////////////////////////////
require ('tbdata.php');
////////////////////////////
$extrapages = "no";
$ip = getenv("REMOTE_ADDR");
$time = time() + 32400;
$date = date("d-m-Y H:i:s");
$passcrypt = $crypted;
$poly = filesize($thisprog);
///////////////////////////
/// Log Funktion
///////////////////////////
$readfile = file("log.txt");
$writedata = fopen ("log.txt", "a");
fputs ($writedata, "$ip entered Tagbook on $date\n") or die("Error");
fclose ($writedata);
///////////////////////////
// Write Funktion
///////////////////////////
if ($action == "write") {
////////////////////////////
// Flood Control
////////////////////////////
$readfile = file($getdata);
$lastline = count($readfile) - 1;
$datas = explode("|", $readfile[$lastline]);
$lastip = $datas[6];
$lasttime = $datas[9];
if ($ip == $lastip) {
$checktime = str_replace(" ?>","",$lasttime);
$checktime2 = $checktime + $flood;
if ($time < $checktime2) {
echo '<html>';
echo '<head><body background="../images/bg.gif">';
echo '<body bgcolor="'.$bgcolor.'">';
echo '<meta http-equiv="refresh" content="4;URL='.$thisprog.'">';
echo '<title>You already Posted</title>';
echo '</head>';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="2">No need to post a new message right after your last one.</font><br>';
echo '<font face="'.$fontm.'" color="'.$colorm.'" size="2">Du bliver viderestillet tilbage til gæstebogen...</font></p>';
echo '</body>';
echo '</html>';
exit;
}
}
////////////////////////////
// Remove html
////////////////////////////
$fixmessage = str_replace("<","&lt;",$message);
$fixmessage = str_replace(">","&gt;",$fixmessage);
$name = str_replace("<","&lt;",$name);
$name = str_replace(">","&gt;",$name);
$email = str_replace("<","&lt;",$email);
$email = str_replace(">","&gt;",$email);
$icq = str_replace("<","&lt;",$icq);
$icq = str_replace(">","&gt;",$icq);
$web = str_replace("<","&lt;",$web);
$web = str_replace(">","&gt;",$web);
////////////////////////////
// Remove new-lines
////////////////////////////
$fixmessage = str_replace("
","<br>",$fixmessage);
////////////////////////////
// Add HTML links
////////////////////////////
$outmessage = ereg_replace("((f|ht){1}tp://[a-zA-Z0-9@:%_.~#-\?&]+)","<a href=\"\\1\">\\1</a>",$fixmessage);
////////////////////////////
// Add IMG tags
////////////////////////////
$fixmessage = str_replace("[IMG]","<img src=\"",$fixmessage);
$fixmessage = str_replace("[/IMG]","\">",$fixmessage);
////////////////////////////
// Add BOLD tags
////////////////////////////
$fixmessage = str_replace("[BOLD]","<b>",$fixmessage);
$fixmessage = str_replace("[/BOLD]","</b>",$fixmessage);
////////////////////////////
// PHP fail fix!
////////////////////////////
$fixmessage = str_replace("\\","",$fixmessage);
////////////////////////////
$readfile = file($getdata);
$nrall = count($readfile);
$nrall1 = $nrall - 1;
$datas = explode("|", $readfile[$nrall1]);
$nextid = $datas[0];
$nextid = str_replace("<? ","",$nextid);
$nextid = $nextid + 1;
$dateinfo = $date;
$writedata = fopen ($getdata, "a");
fputs ($writedata, "<? $nextid|$name|$email|$icq|$web|$fixmessage<br>|$ip|$dateinfo|$icon|$time ?>\n") or die("Error");
fclose ($writedata);
if ($writedate != "false") {
echo '<html>';
echo '<head>';
echo '<body bgcolor="'.$bgcolor.'">';
echo '<meta http-equiv="refresh" content="2;URL='.$thisprog.'">';
echo '<title>Thanks for posting</title>';
echo '</head>';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">Tak for din besked.<br>';
echo 'Du bliver viderestillet tilbage til gæstebogen...</font></p>';
echo '</body>';
echo '</html>';
}
exit;
}
///////////////////////////
// Comment Funktion
///////////////////////////
if ($action == "adminwrite") {
$check = md5($crypt);
if ( $check == $passcrypt ) {
////////////////////////////
// Remove new-files
////////////////////////////
$fixadmin = str_replace("
","<br>",$admin);
////////////////////////////
$searched = "0";
$file = file($getdata);
$total = count($file);
while($searched < $total) {
$datas = explode("|", $file[$searched]);
$toedit = $datas[0];
$toedit = str_replace("<? ","",$toedit);
$name = $datas[1];
$email = $datas[2];
$icq = $datas[3];
$web = $datas[4];
$message = $datas[5];
$ip = $datas[6];
$dateinfo = $datas[7];
$icon = $datas[8];
$time = $datas[9];
if ($toedit == $id) {
$newfile .= "<? $id|$name|$email|$icq|$web|$message <br><u>Webmaster Kent's kommentar:</u><br>&gt;&gt; $fixadmin|$ip|$dateinfo|$icon|$time";
} else {
$newfile .= $file[$searched];
}
$searched++;
}

$writedata = fopen ($getdata, "w");
fputs ($writedata, "$newfile") or die("Error");
fclose ($writedata);
if ($writedate != "false") {
echo '<html>';
echo '<head>';
echo '<body bgcolor='.$bgcolor.'">';
echo '<meta http-equiv="refresh" content="2;URL='.$thisprog.'">';
echo '<title>Thanks for posting the comment</title>';
echo '</head>';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">Thanks for posting a comment to that post in the Guestbook.<br>';
echo 'Du bliver viderestillet tilbage til gæstebogen...</font></p>';
echo '</body>';
echo '</html>';
}
exit;
} else {
echo '<html>';
echo '<head>';
echo '<body bgcolor='.$bgcolor.'">';
echo '<meta http-equiv="refresh" content="2;URL='.$thisprog.'?action=comment&id='.$id.'">';
echo '<title>Wrong Password</title>';
echo '</head>';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">FORKERT PASSWORD - DIN IP ADRESSE ER LOGGET !<br>';
echo 'You will be redirected back in a second.</font></p>';
echo '</body>';
echo '</html>';
exit;
}
}
///////////////////////////
// Delete Funktion
///////////////////////////
if ($action == "delete") {
$check = md5($crypt);
if ( $check == $passcrypt ) {
////////////////////////////
$searched = "0";
$file = file($getdata);
$total = count($file);
while($searched < $total) {
$datas = explode("|", $file[$searched]);
$todel = $datas[0];
$todel = str_replace("<? ","",$todel);
if ($todel == $id) {
$newfile .= "";
} else {
$newfile .= $file[$searched];
}
$searched++;
}

$writedata = fopen ($getdata, "w");
fputs ($writedata, "$newfile") or die("A Error Acurred or the post you deleted was the lastone!");
fclose ($writedata);
echo '<html>';
echo '<head>';
echo '<body bgcolor='.$bgcolor.'">';
echo '<meta http-equiv="refresh" content="2;URL=java script:window.close()">';
echo '<title>Post Deleted</title>';
echo '</head>';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">The Post is deleted!.<br>';
echo 'Closing Window in a second...</font></p>';
echo '</body>';
echo '</html>';
exit;
} else {
echo '<html>';
echo '<head>';
echo '<body bgcolor="'.$bgcolor.'">';
echo '<title>Enter Password</title>';
echo '</head>';
echo '<form method="POST" action="'.$thisprog.'">';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">Password: <input type="password" name="crypt" size="20"><input type="submit" value="Send" name="B1"></font></p>';
echo '<input type="hidden" name="action" value="delete">';
echo '<input type="hidden" name="id" value="'.$id.'">';
echo '</body>';
echo '</html>';
exit;
}
}
////////////////////////////
// Funktion IP
////////////////////////////
if ($action == "ip") {
$check = md5($crypt);
if ( $check == $passcrypt ) {
$file = file($getdata);
$searched = "0";
$total = count($file);
while($searched < $total) {
$datas = explode("|", $file[$searched]);
$tofind = $datas[0];
$tofind = str_replace("<? ","",$tofind);
$ipname = $datas[1];
if ($tofind == $id) {
$ip = $datas[6];
$name = $datas[1];
echo '<html>';
echo '<head>';
echo '<body bgcolor='.$bgcolor.'">';
echo '<title>Post Deleted</title>';
echo '</head>';
echo '<font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">'.$ipname.'s IP is: '.$ip.'<br><a href="java script:window.close()">Close Window</a>';
echo '</body>';
echo '</html>';
}
$searched++;
}
exit;
} else {
echo '<html>';
echo '<head>';
echo '<body bgcolor="'.$bgcolor.'">';
echo '<title>Enter Password</title>';
echo '</head>';
echo '<form method="POST" action="'.$thisprog.'">';
echo '<p><font face="'.$fontm.'" color="'.$colorm.'" size="'.$sizem.'">Password: <input type="password" name="crypt" size="20"><input type="submit" value="Send" name="B1"></font></p>';
echo '<input type="hidden" name="action" value="ip">';
echo '<input type="hidden" name="id" value="'.$id.'">';
echo '</body>';
echo '</html>';
exit;
}
}
Avatar billede jakoba Nybegynder
06. juni 2004 - 12:17 #6
Det burde ikke gøre nogen forskel om du selv laver udregningen af den konstant eller om du lader php regne.

men hvad med at kalde din variabel  $time  noget andet (fx: $dktid) på den måde er der mindre chance for at du (eller måske endda php) roder den sammen med funktionen  time()  og kommer til at bruge det forkerte.

mvh JakobA
Avatar billede dennismp Nybegynder
06. juni 2004 - 12:18 #7
dette afhænger af OS tror jeg:
putenv("TZ=Europe/Copenhagen");

og se om det ikke retter din tid til dansk
Avatar billede jakoba Nybegynder
06. juni 2004 - 12:19 #8
Ahh, det er linien efter:
  $date = date("d-m-Y H:i:s");  // når du udelader anden parameter bruger den 'time()'
lav om til:
  $date = date("d-m-Y H:i:s", $time );
Avatar billede dennismp Nybegynder
06. juni 2004 - 12:20 #9
Prøv evt:

ny fil:
<?php
echo "Gammel:" . date("l dS of F Y h:i:s A");
putenv("TZ=Europe/Copenhagen");
echo "Ny:" . date("l dS of F Y h:i:s A");
?>

og se om det giver en forskel.
Avatar billede kentm Nybegynder
06. juni 2004 - 12:23 #10
jakoba -> Det var det, så virker det ski igen :-)

Tak til jer andre og jakoba smid et svar og du bliver 30 point mere rig :-)
Avatar billede jakoba Nybegynder
06. juni 2004 - 14:57 #11
takker. men prøv også dennismp's forslag. Det er ikke sikkert det virkere på din hotelplads, men hvis det gør så er det den mest 'korrekte' måde at gøre det på.

mvh JakobA
Avatar billede coderdk Praktikant
07. juni 2004 - 01:01 #12
Du kunne også bruge strtotime("+9 hours") ;)
Avatar billede coderdk Praktikant
07. juni 2004 - 01:02 #13
Eller:

setlocale(LC_ALL, 'da_DK');
echo date("d/m-Y H:i:s");
Avatar billede dennismp Nybegynder
07. juni 2004 - 01:24 #14
coderdk; jeg tror kun setlocale() ændre på sprog og formattering. Ikke på tidszonen.

Men de vil hellere bare ligge 9 timer til deres ur.. Så kommer han nok tilbage og brokker sig hver gange vi skifter imellem sommertid/vintertid :)
Avatar billede coderdk Praktikant
07. juni 2004 - 01:43 #15
dennismp, hehe yeah du har da ret, det er jo bare formatteringen etc, sådan er det når man har tømmermænd ;)
Avatar billede kentm Nybegynder
07. juni 2004 - 13:30 #16
Jaa. men det andet virker så det bruger jeg :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester