Avatar billede benzon Praktikant
29. november 2004 - 23:02 Der er 56 kommentarer og
1 løsning

Link skal være disabled i et tidsrum hver uge.

Jeg står lidt med et problem

Jeg har et tilmeldings link som bliver det afmelding når man er tilmeldt men dette link skal deaktiveres i en periode hver eneste uge så folk ikke kan lave rod når arangementet er igang. Tids vinduet ligger fra Lørdag klokken 18:00 til Søndag 03:00 nogen der kan hjælpe gerne forklare hvordan jeg løser denne opgave?
Avatar billede coderdk Praktikant
29. november 2004 - 23:06 #1
F.eks.:

if ( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) )
{
  echo "<a href=\"side.php\">link tekst</a>
}
Avatar billede baitianlong Nybegynder
29. november 2004 - 23:07 #2
Er det et <a href link eller onClick eller hvad ? Og lige for at være sikker... Det skal IKKE virke hver lørdag kl. 18.00 indtil søndag morgen 3.00 ?
Avatar billede coderdk Praktikant
29. november 2004 - 23:07 #3
echo "<a href=\"side.php\">link tekst</a>

skulle naturligvis være:

  echo "<a href=\"side.php\">link tekst</a>";
Avatar billede benzon Praktikant
29. november 2004 - 23:08 #4
jo hver eneste lørdag legende.dk :)

coderdk >> kan jeg ikke få en forklaring på det du har lavet så jeg lige er helt med på hvad det står for ? 6 = ugedag eller ? og H = Time ? eller er jeg helt lost?
Avatar billede baitianlong Nybegynder
29. november 2004 - 23:09 #5
Æv, jeg var nok for langsom... Ellers en guldgrube :P
Avatar billede coderdk Praktikant
29. november 2004 - 23:09 #6
Aah legende.dk har vist en pointe, det skal vel være det modsatte af mit ;)
Altså:

if ( !( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) )
{
  echo "<a href=\"tilmeld.php\">tilmeld</a>";
}
Avatar billede benzon Praktikant
29. november 2004 - 23:09 #7
coderdk det med link skal jeg nok kunne løse :P

Men var nu mere at vide hvordan jeg kunne udelukke folk fra linket en periode så jeg ikke får frameldinger midt i eventet ville jo ikke være så skide smart hehe :)
Avatar billede coderdk Praktikant
29. november 2004 - 23:10 #8
http://dk2.php.net/strftime

%u er ugedagen, 1 = mandag, 7 = søndag
%H er timetallet 0-23

:)
Avatar billede coderdk Praktikant
29. november 2004 - 23:10 #9
Men det er sikkert ikke nok, du er nok nødt til i dit tilmeldigsscript at checke dag/tid også, folk er meget opfindsomme hvad sådan noget angår :)
Avatar billede benzon Praktikant
29. november 2004 - 23:13 #10
yer det kommer i begge steder slf :)

Er ikke helt dum men det er bare ikke noget jeg har arbejdet med tidligere, men det er jo lige det sider og arbejder på kryds af 2 sider, med bruger databasen så det er lidt sjovt det hele fordi der er så mange små ting og kom i tanke om ville ikke være godt folk kan framelde sig midt under eventet hehe
Avatar billede benzon Praktikant
29. november 2004 - 23:14 #11
skal faktisk lave den dobbelt up, kom jeg lige til at se hehehe skal lave en der lukker af klokken 19:00 og frem til 3 næste morgen men nu hved jeg jo hvordan jeg skal skære den, de skal jo ikke kunne tilmelde sig efter det hele er startet hehehe dooo skal også lave db count om der er 64 i databasen, jo jo det bliver da vist til mere end jeg lige trode  :D
Avatar billede baitianlong Nybegynder
29. november 2004 - 23:17 #12
eller, med javascript kan det også være smukt:

<script>
function checkTid() {
  tid = new Date();
  if((tid.getDay() == 6 && tid.getHours() > 18) || (tid.getDay() == 0 && tid.getHours() < 3)) {
      alert("Du kan ikke tilmelde dig nu, for hulen!!");
  } else {
      window.location.href = "tilmeld.php";
  }
}
</script>

<a href="#" onClick="checkTid();">Tilmeld dig her</a>

:)
Avatar billede benzon Praktikant
29. november 2004 - 23:25 #13
tænkte lige på hvad hvis tiden er 18:30 og man gerne vil lave det sådan det bliver låst der hvordan gøres det så i forhold til der her?
Avatar billede coderdk Praktikant
29. november 2004 - 23:27 #14
strftime( "%M" ) giver dig minuttallet :)
Avatar billede benzon Praktikant
29. november 2004 - 23:31 #15
avs, det ser ud til den er lukket lige meget hvad doo :D

                if ( !( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) ) {
                    $signupcup = 'Framelding er lukket';
                } else {
                    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
                }

så får jeg besked på den er lukket på nuværende tidspunkt skummelt
Avatar billede benzon Praktikant
29. november 2004 - 23:31 #16
if ( !( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) ) {
    $signupcup = 'Framelding er lukket';
} else {
    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
}
Avatar billede coderdk Praktikant
29. november 2004 - 23:33 #17
Omvendt :)

if ( !( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) ) {
    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
} else {
    $signupcup = 'Framelding er lukket';
}

:)
Avatar billede benzon Praktikant
29. november 2004 - 23:37 #18
<?php
if ( !( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) ) {
    echo '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
} else {
    echo "Framelding er lukket";
}
?> <-- lige for at teste men den siger stadig det første link :|
Avatar billede baitianlong Nybegynder
29. november 2004 - 23:39 #19
Jamen det er jo også mandag i dag :P
Avatar billede benzon Praktikant
29. november 2004 - 23:40 #20
virker som %u ikke kommer med output
Avatar billede coderdk Praktikant
29. november 2004 - 23:43 #21
Ikke kommer med output?
Hos mig giver:

echo strftime( "%%u = %u" );

Dette:

%u = 1
Avatar billede coderdk Praktikant
29. november 2004 - 23:44 #22
Ellers kan du bruge %w hvor 0 = søndag og 6 = lørdag
Avatar billede michael_stim Ekspert
29. november 2004 - 23:46 #23
Avatar billede benzon Praktikant
29. november 2004 - 23:51 #24
if ( !( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) ) {
    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
} else {
    $signupcup = 'Framelding er lukket';
}

Burde den så ikke være lukket?
Avatar billede benzon Praktikant
29. november 2004 - 23:51 #25
arhg nej 2 sec
Avatar billede benzon Praktikant
29. november 2004 - 23:53 #26
if ( !( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) ) {
    $signupcup = '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
    } else {
        $signupcup = 'Tilmelding er lukket';
    }
}
Avatar billede benzon Praktikant
29. november 2004 - 23:53 #27
burde den ikke være lukket så det bliver den ikke hos mig den står stadig som åben selv om jeg har ændret fra tallene
Avatar billede coderdk Praktikant
30. november 2004 - 00:00 #28
Dér tillader du kun tilmelding når det ikke er mandag efter kl 18 og tirsdag før kl 3

Der *er* faktisk en fejl:

if ( !( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) ) {

bør rettes til:

if ( !( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) ) {

Altså && i midten skal være ||

Du er sikkert ude efter:

if ( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) && ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) {
    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
} else {
    $signupcup = 'Framelding er lukket';
}

Altså den ikke-negerede version?
Avatar billede coderdk Praktikant
30. november 2004 - 00:01 #29
Argh, glemte selv at rette det i den sidste :)

Du er sikkert ude efter:

if ( ( strftime( "%u" ) == 6 && strftime( "%H" ) >= 18 ) || ( strftime( "%u" ) == 7 && strftime( "%H" ) <= 3 ) ) {
    $signupcup = '<a href="rmfromcup.php" class="brun">Frameld din clan Lørdagens cup</a>';
} else {
    $signupcup = 'Framelding er lukket';
}
Avatar billede coderdk Praktikant
30. november 2004 - 00:02 #30
Ok, nu stener jeg bare. De to sidste var jo ikke dem jeg ville paste, HER kommer den jeg tror du var ude efter:

if ( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {
    $signupcup = '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
    } else {
        $signupcup = 'Tilmelding er lukket';
    }
}
Avatar billede benzon Praktikant
30. november 2004 - 00:04 #31
Se se || ser da ud til at hjælpe nu blev der da lukket med den dato opsætning og hvis jeg skiftede dato til 6 og 7 så funkede det også bare der ud af :D
Avatar billede benzon Praktikant
30. november 2004 - 00:06 #32
nu skal jeg bare være sikker på hvordan jeg eks laver sådan tilmelding er muligt helt ind til 18:45

Ville det være noget i stil med

if ( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 18 && strftime( "%M" ) <= 45 ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {

eller er jeg galt på den :D
Avatar billede coderdk Praktikant
30. november 2004 - 00:07 #33
hehe cool :) har nok også noget at gøre med at jeg fjernede !() i den ene ;)
Avatar billede coderdk Praktikant
30. november 2004 - 00:09 #34
Hmm ja, næsten... Den korrekte ville være:

if ( ( strftime( "%u" ) == 1 && ( strftime( "%H" ) >= 18 || ( strftime( "%H" ) == 18 && strftime( "%M" ) <= 45 ) ) ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {

Vi skal jo kun checke minuttallet hvis timetallet er 18... :)
Avatar billede benzon Praktikant
30. november 2004 - 00:15 #35
om 2 min kender jeg resultatet om minut løsningen virker hehe :)krydser finger, så kan jeg nemlig blive færdig med det hele hehe
Avatar billede benzon Praktikant
30. november 2004 - 00:18 #36
huston we have a problem

if ( ( strftime( "%u" ) == 1 && ( strftime( "%H" ) >= 18 || ( strftime( "%H" ) == 18 && strftime( "%M" ) <= 17 ) ) ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

Den reagerede ikke rigtig på det
Avatar billede benzon Praktikant
30. november 2004 - 00:19 #37
flot af mig den ene skal ændres til 2 vi har tirs nu tester lige igen
Avatar billede michael_stim Ekspert
30. november 2004 - 00:20 #38
Du må vel vente til kl 03.00 ;o)
Avatar billede benzon Praktikant
30. november 2004 - 00:22 #39
if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) >= 00 || ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 23 ) ) ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}
Avatar billede benzon Praktikant
30. november 2004 - 00:23 #40
giver stadig en fejl :| michael_stim naaaa behøver jeg ikke kan jo bare ændre i de forskælige ting arhhh der mangler da noget der efter 18 der mangler noget )
Avatar billede coderdk Praktikant
30. november 2004 - 00:26 #41
Du kan snakke dig igennem det.

Vis addtocup, hvis:
Det er mandag OG ( timetallet er 18 eller under ELLER ( timetallet er præcist 18 OG minuttallet er 45 eller under ) )
ELLER
Det er tirsdag OG timetallet er 3 eller under

:)
Avatar billede benzon Praktikant
30. november 2004 - 00:29 #42
hehe men kan saft sytteme ikke få det til at reagere som det burde har lige lavet den igen og prøver og se om den gider sige Tilmelding er lukket når vi rammer 00:30
Avatar billede benzon Praktikant
30. november 2004 - 00:30 #43
if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) >= 00 && ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 30 ) ) ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

Den skriver linket :| burde dn ikke gøre sådan der
Avatar billede coderdk Praktikant
30. november 2004 - 00:32 #44
ok rettelse:

if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) > 00 && ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 30 ) ) ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

Altså >= rettet til > da vi checker det andet sted ;) Nu virker det tror jeg ;)
Avatar billede coderdk Praktikant
30. november 2004 - 00:32 #45
erh vent
Avatar billede benzon Praktikant
30. november 2004 - 00:33 #46
hehe jeg venter :D
Avatar billede coderdk Praktikant
30. november 2004 - 00:33 #47
Du har også glemt at rette 2. condition :P
Den testede jo sandt ved: ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 3 )

Prøv med:

if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) > 00 && ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 30 ) ) ) || ( strftime( "%u" ) == 3 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}
Avatar billede benzon Praktikant
30. november 2004 - 00:36 #48
burde det ikke også virke klokken er jo ikke 3 endnu :P
Avatar billede benzon Praktikant
30. november 2004 - 00:42 #49
if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) > 00 && ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 45 ) ) ) || ( strftime( "%u" ) == 3 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

nu er den bare lukket hele tiden i stedet hehehehe
Avatar billede benzon Praktikant
30. november 2004 - 00:44 #50
det bliver mere og mere kryptisk hehehe
Avatar billede coderdk Praktikant
30. november 2004 - 01:30 #51
if ( ( strftime( "%u" ) == 2 && ( strftime( "%H" ) > 00 && ( strftime( "%H" ) == 00 && strftime( "%M" ) <= 45 ) ) ) || ( strftime( "%u" ) == 3 && strftime( "%H" ) <= 3 ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

Dén der skal jo også være lukket til i morgen (onsdag) kl 4?
Avatar billede benzon Praktikant
30. november 2004 - 02:28 #52
if ( !( ( strftime( "%u" ) == 1 && strftime( "%H" ) >= 2 ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 2 ) ) ) {
                    $signupcup = '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
                } else {
                    $signupcup = 'Tilmelding er lukket';
                }

Det er mystisk den burde låse sig selv om er tirsdag og er efter 2 men den gør det ikke jeg er så lost nu
Avatar billede coderdk Praktikant
30. november 2004 - 03:09 #53
<= 2

Så den burde virke kl 3?
Avatar billede benzon Praktikant
30. november 2004 - 04:24 #54
du har ret og det virkede også :) tester lige det med minutter igen i morgen og ser om det vil virke som det skal
Avatar billede benzon Praktikant
30. november 2004 - 14:36 #55
ser det svære ud til det med minut antal ikke virker overhovedet :|
Avatar billede benzon Praktikant
30. november 2004 - 14:57 #56
hahahaha vi behøvede ikke rode os så meget ud i alt det her :D


if ( !( ( strftime( "%u" ) == 1 && strftime( "%H:%M" ) >= '14:53' ) || ( strftime( "%u" ) == 2 && strftime( "%H" ) <= 14 ) ) ) {
    echo '<a href="addtocup.php" class="brun">Tilmeld din clan Lørdagens cup</a>';
} else {
    echo 'Tilmelding er lukket';
}

Det der ser ud til at virke hvis jeg smider minut tallet ind hved time tallet ser det ud til vi har den rigtige reaktion
Avatar billede benzon Praktikant
30. november 2004 - 15:07 #57
virker ind til videre i de tests jeg har lavet af det så det er jo kun positivt hvis vi kan lægge det på hylden
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