Kom ihåg mig?
Home Menu

Menu


En viss sida visas en viss tidpunkt

 
Ämnesverktyg Visningsalternativ
Oläst 2011-09-19, 14:59 #1
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Standard En viss sida visas en viss tidpunkt

Jag har en väldigt enkel beställningssida som jag skulle vilja göra "inaktiv" under en viss tid på dygnet så att inga beställningar kan göras.
Enklast skulle ju vara om man bara kunde skicka besökaren till en annan sida än själva beställningssidan om klockan är mellan t.ex. 22-09 där man kan berätta för besökaren att det inte är möjligt att lägga en beställning just nu, men att man "vanlig tid" skickas normalt till den vanliga beställningssidan.
Går detta att lösa på något smidigt vis?

Allt jag hittar när jag söker på Google är hur man skickar vidare efter en speciell tid, men det är inte det jag söker - jag vill alltså först kontrollera tiden och om tiden är någonstans i mitt valda intervall så ska en annan sida anropas. Förstår ni mig?
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-19, 15:42 #2
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Hittade min lösning tillslut:

<script type="text/javascript">
<!--
time = new Date();
hours = time.getHours();
starthour = 22
endhour = 10
if(hours >= starthour && hours < endhour)
{
location.href = "offline.php"
}
else
{

}


//-->
</script>
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-19, 15:42 #3
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Hej!

Det är fullt möjligt.

Pseudokod:

If CurrentTime >= 22:00 or CurrentTime <= 09:00
RedirectToPage("Page")
End If

Sen är det helt beroende på programspråk hur detta ser ut. Bästa är att göra detta på serversidan.
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-19, 19:51 #4
captaindoes avatar
captaindoe captaindoe är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2010
Inlägg: 431
captaindoe captaindoe är inte uppkopplad
Flitig postare
captaindoes avatar
 
Reg.datum: Dec 2010
Inlägg: 431
JeZZifelt, om du använder den koden som du skrev ovan så kommer alla som har javascript inaktiverat i sin webbläsare ändå komma in på beställningssidan.

Måste göras på serversidan som digiArt skrev.
captaindoe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-20, 07:56 #5
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Citat:
Ursprungligen postat av digiArt Visa inlägg
Hej!

Det är fullt möjligt.

Pseudokod:

If CurrentTime >= 22:00 or CurrentTime <= 09:00
RedirectToPage("Page")
End If

Sen är det helt beroende på programspråk hur detta ser ut. Bästa är att göra detta på serversidan.
Tack! Jag använder php på beställningssidan.

Jag skulle även vilja att beroende på vilken veckodag är sidan "inaktiv" under olika tidpunkter.

Hittade detta, skulle det kunna funka?:

<?php
$hour = date('G');
$minute = date('i');
$day = date('w');
$m = $hour * 60 + $minute; // Minutes since midnight.
if(
$day == 6 // Saturday...
&& $m >= 735 // ... after 12:15...
&& $m <= 1035 // ... but before 17:15...
) header("Location: saturdayafternoon.php");
else if(
$day == 4 // Wednesday...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: wednesdaynight.php");
?>

Infogar jag denna koden överst på de sidor det gäller eller hur gör jag?

Citat:
Ursprungligen postat av captaindoe Visa inlägg
JeZZifelt, om du använder den koden som du skrev ovan så kommer alla som har javascript inaktiverat i sin webbläsare ändå komma in på beställningssidan.

Måste göras på serversidan som digiArt skrev.
Jaha, det var ju inte bra! Tack för upplysningen. Hittade ovanstående kod i php, men vet inte hur jag ska lägga in den för att fungera som bäst?
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-20, 08:39 #6
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Har krånglat till det för mig och nu bestämt att det ska vara tre olika sidor att skifta mellan, jag kallar dem "online", "offline" och "halvonline".
Eventuellt skulle jag vilja kunna lägga till några enskilda datum då det är "offline" hela dagen (och nu pratar vi alltså om datum och inte en viss veckodag), t.ex. på julafton.

Har gjort ett litet schema över vilka tider jag vill ska gälla för de olika sidorna för lite bättre översikt:
Mån-Tors:
00.00-11.00 Offline
11.00-16.00 Halvonline
16.00-21.00 Online
21.00-24.00 Offline

Fre-Lör
00.00-11.00 Offline
11.00-16.00 Halvonline
16.00-22.00 Online
22.00-24.00 Offline

Sön
00.00-12.00 Offline
12.00-20.00 Online
20.00-24.00 Offline

Försökte modifiera koden själv, men har inte ändrat rätt tiden än, men tänkte att kanske något i denna stilen skulle funka? Dock känns det lite långt, det kanske går att förenkla på något vis?

<?php
$hour = date('G');
$minute = date('i');
$day = date('w');
$m = $hour * 60 + $minute; // Minutes since midnight.
if(
$day == 1 // Måndag...
&& $m >= 735 // ... after 12:15...
&& $m <= 1035 // ... but before 17:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 1 // Måndag...
&& $m >= 735 // ... after 12:15...
&& $m <= 1035 // ... but before 17:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 2 // Tisdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 2 // Tisdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 3 // Onsdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 3 // Onsdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 4 // Torsdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 4 // Torsdag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 5 // Fredag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 5 // Fredag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 6 // Lördag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 6 // Lördag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
else if(
$day == 0 // Söndag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");
$day == 0 // Söndag...
&& $m >= 1155 // ... after 19:15...
&& $m <= 1335 // ... but before 22:15...
) header("Location: http://www.minsida.se/bestallning/offline.php");

?>

Förstår ni min idé, trots att varken tidsangivelser eller rätt länkar är inlagda?
Ni som kan det här kanske har en mycket bättre lösning och även kan tala om för mig hur jag kan spärra ett helt datum? Förstår att det inte borde vara så svårt, men än en gång så ger mig i Google det jag söker! Får bara fram JavaScript som redirectar med datumangivelse. Jag vill ju ha php!? :S
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-20, 10:36 #7
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Här har du något snabbt ihopslängt som bör funka som utgångsläge.
Jag har bara lagt in Mån-Tor.

PHP-kod:
<?php
function status_open()
{    
    
$closed = array("24/12""20/9");
    if (
in_array(date("d/n"), $closed)) {
        return 
"Stängt";
    }
    
    switch (
date("w")) {
        case 
1:    // Mån
        
case 2:    // Tis
        
case 3:    // Ons
        
case 4:    // Tor
            
if (time() < strtotime("11:00") || time() > strtotime("21:00")) {
                return 
"Offline";
            }
            if (
time() > strtotime("16:00")) {
                return 
"Online";
            }
            return 
"Halvonline";
            
        case 
5:    // Fre
        
case 6:    // Lör
            
break;
            
        case 
0:    // Sön
            
break;
    }
}

echo 
status_open();

?>
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-20, 14:05 #8
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Citat:
Ursprungligen postat av Jake.Nu Visa inlägg
Här har du något snabbt ihopslängt som bör funka som utgångsläge.
Jag har bara lagt in Mån-Tor.
Stort, stort tack för hjälpen!

Nu ser min kod ut så här:

PHP-kod:
<?php 
function status_open() 
{     
    
$closed = array("24/12""20/9"); 
    if (
in_array(date("d/n"), $closed)) { 
        return 
"stangt.php"
    } 
     
    switch (
date("w")) { 
        case 
1:    // Mån 
        
case 2:    // Tis 
        
case 3:    // Ons 
        
case 4:    // Tor 
            
if (time() < strtotime("11:00") || time() > strtotime("21:00")) { 
                return 
"offline.php"
            } 
            if (
time() > strtotime("16:00")) { 
                return 
"online.php"
            } 
            return 
"halvonline.php"
             
        case 
5:    // Fre 
        
case 6:    // Lör 
            
if (time() < strtotime("11:00") || time() > strtotime("22:00")) { 
                return 
"offline.php"
            } 
            if (
time() > strtotime("16:00")) { 
                return 
"online.php"
            } 
            return 
"halvonline.php";  
             
        case 
0:    // Sön 
            
if (time() < strtotime("12:00") || time() > strtotime("20:00")) { 
                return 
"offline.php"
            } 
            return 
"online.php";  
    } 


echo 
status_open(); 

?>
Det fungerar dock inte för mig. Adressen till "stangt.php" kommer upp längst upp till vänster på sidan, annars ser sidan ut som vanligt men skickar inte vidare någonstans.
Är det jag som gjort något fel? :S
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-20, 15:26 #9
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Citat:
Ursprungligen postat av JeZZifelt Visa inlägg
Stort, stort tack för hjälpen!

Nu ser min kod ut så här:

...

Det fungerar dock inte för mig. Adressen till "stangt.php" kommer upp längst upp till vänster på sidan, annars ser sidan ut som vanligt men skickar inte vidare någonstans.
Är det jag som gjort något fel? :S
PHP-kod:
<?php 
function status_open() 
{     
    
$closed = array("24/12""20/9"); 
    if (
in_array(date("d/n"), $closed)) { 
        return 
"stangt.php"
    } 
     
    switch (
date("w")) { 
        case 
1:    // Mån 
        
case 2:    // Tis 
        
case 3:    // Ons 
        
case 4:    // Tor 
            
if (time() < strtotime("11:00") || time() > strtotime("21:00")) { 
                return 
"offline.php"
            } 
            if (
time() > strtotime("16:00")) { 
                return 
"online.php"
            } 
            return 
"halvonline.php"
             
        case 
5:    // Fre 
        
case 6:    // Lör 
            
if (time() < strtotime("11:00") || time() > strtotime("22:00")) { 
                return 
"offline.php"
            } 
            if (
time() > strtotime("16:00")) { 
                return 
"online.php"
            } 
            return 
"halvonline.php";  
             
        case 
0:    // Sön 
            
if (time() < strtotime("12:00") || time() > strtotime("20:00")) { 
                return 
"offline.php"
            } 
            return 
"online.php";  
    } 
}
header("Location: http://www.domain.tld/" status_open());
exit();
?>
Men med denna koden så kan man alltid gå till online.php direkt om man vill..
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-22, 08:11 #10
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Ja, fast det vill jag ju helst inte att man ska kunna?
Jag hade satt koden på online-sidan som man länkas till för att komma till beställningssidan, men det kanske var fel av mig?
Ni får ursäkta att jag är lite trög..
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:41.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017