Avatar billede yezbarh Nybegynder
16. oktober 2005 - 15:02 Der er 17 kommentarer og
3 løsninger

Luk siden kl. 15-16 i php.

Hejsa.
Jeg har prøvet mig frem til dette resultat, men uden held.
JEg angiver en start-tid og en slut-tid, så skulle den gerne lukke siden ned i de sekunder! - Men det gør den ikke! Hvad gør jeg?


<?php
$start = date("U", mktime(15, 05, 1, date("m"), date("d"), date("Y")));
$slut = date("U", mktime(15, 06, 1, date("m"), date("d"), date("Y")));

if (time() >= $slut && time() <= $start)
{
    echo "<h1>lukket</h1>";
    exit;
}
?>
Avatar billede jaw Nybegynder
16. oktober 2005 - 15:06 #1
Prøv:
$start = mktime(15, 0, 0, date("m"), date("d"), date("Y"));
$slut = mktime(15, 0, 0, date("m"), date("d"), date("Y"));

Din date("U") er rimelig overflødig, da mktime i sig selv returnerer det samme som date("U"). Om det har givet noget bøvl, ved jeg ikke. Men det er også altid en god ide at udskrive time(), $start og $slut så du evt. kan se om der er et sted da ganske åbenlyst giver bøvl...
Avatar billede jaw Nybegynder
16. oktober 2005 - 15:07 #2
Hov, sådan:
$start = mktime(15, 0, 0, date("m"), date("d"), date("Y"));
$slut = mktime(16, 0, 0, date("m"), date("d"), date("Y"));
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:08 #3
Er din if() ikke også forkert?
Jeg ville mene den skulle være:
if($start <= time() && $slut >= time())
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:11 #4
Er n og j ikke mere korrekt?

Se evt fuldt eksempel her:
http://www.codebreaker.dk/exp/656472.php
Avatar billede coderdk Praktikant
16. oktober 2005 - 15:13 #5
Hvad med bare:

if ( date('H') == 15 )
{
  die( 'Siden er lukket mellem kl 15 og 16' );
}

?
Avatar billede Slettet bruger
16. oktober 2005 - 15:14 #6
$start = mktime(15, 10, date("s"), date("m"), date("d"), date("Y"));
$slut = mktime(15, 17, date("s"), date("m"), date("d"), date("Y"));

if (time() >= $start && time() <= $slut)
{
    echo "<h1>lukket</h1>";
}
else
{
    echo "åben";
}
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:15 #7
Øv...
Hvorfor skal du altid være så fucking klog og komme med de bedste forslag coderdk? :o)
Avatar billede mjl Nybegynder
16. oktober 2005 - 15:16 #8
Det er jo så simpelt...
Avatar billede coderdk Praktikant
16. oktober 2005 - 15:17 #9
lol :-D nogen gange tænker man bare for langt jo :) Det gør jeg tit - Så er det godt at have nogle andre at sparre med ;)
Avatar billede yezbarh Nybegynder
16. oktober 2005 - 15:17 #10
Brugte jakobdo, smid svar
Avatar billede jaw Nybegynder
16. oktober 2005 - 15:18 #11
:-)
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:19 #12
Brug CoderDK's forslag, det er for smukt til ikke at blive brugt!
Avatar billede yezbarh Nybegynder
16. oktober 2005 - 15:19 #13
Men hvad hvis den skal være 15:30 - 16:30 fx?
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:23 #14
Så kan du lettere bruge dit/jaw/mit med rettelser!
Men nu gik dit spørgsmål på 15-16! :o)
Avatar billede yezbarh Nybegynder
16. oktober 2005 - 15:25 #15
$start = mktime(15, 30, 0, date("n"), date("j"), date("Y"));

fx? :)
Avatar billede coderdk Praktikant
16. oktober 2005 - 15:25 #16
Så kunne du bare tilpasse den lidt:

    if ( ( date( 'H' ) == 15 && date( 'i' ) >= 30 )
      || ( date( 'H' ) == 16 && date( 'i' ) <= 30 ) )
    {
      die( 'Siden er lukket mellem 15:30 og 16:30' );
    }
Avatar billede yezbarh Nybegynder
16. oktober 2005 - 15:25 #17
Okay, smid svar
Avatar billede coderdk Praktikant
16. oktober 2005 - 15:26 #18
Du får et af mig, så kan du selv vælge :)
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:29 #19
Og svar!
Avatar billede jakobdo Ekspert
16. oktober 2005 - 15:34 #20
Takker for point! ;)
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