WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   En viss sida visas en viss tidpunkt (https://www.wn.se/forum/showthread.php?t=1050092)

allstars 2011-09-22 09:09

Istället för att skicka användaren till annan sida visa olika html-kod, typ

JeZZifelt 2011-09-22 10:30

Citat:

Ursprungligen postat av allstars (Inlägg 20418378)
Istället för att skicka användaren till annan sida visa olika html-kod, typ

Ja, men det måste ju styras via tiden. Har noll koll på PHP (för javascript verkade inte vara en bra lösning på problemet) så vet inte hur jag ska gå tillväga?

allstars 2011-09-22 10:58

Ja?!

Istället för att göra en return sätter man en variabel $booking_status="closed"; eller mostsvarade

sedan efter gör man en switch
switch ($booking_status){
case "closed" :
default:
//gör detta
break;
case "open" :
//gör detta
break;
case "halfopen" :
//gör detta
break;
}

JeZZifelt 2011-09-22 13:39

Citat:

Ursprungligen postat av allstars (Inlägg 20418390)
Ja?!

Istället för att göra en return sätter man en variabel $booking_status="closed"; eller mostsvarade

sedan efter gör man en switch
switch ($booking_status){
case "closed" :
default:
//gör detta
break;
case "open" :
//gör detta
break;
case "halfopen" :
//gör detta
break;
}

Kan jag ersätta "//gör detta" med HTML kod?

frecka 2011-09-22 13:43

Ja det kan du men du måste öppna och stänga dina php taggar. Alternativt, skriv html koden i din echo.

såhär:

<?php
switch ($booking_status){
case "closed" :
default:
?>
<b>En fet text</b>
<?php
break;
case "open" :
echo "<b>En fet text</b>";
break;
case "halfopen" :
?>
<b><?php echo "<em>En både fet och kursiv text</em>"; ?></b>
<?php
break;

?>

Själv skriver jag all html kod i echo
Blir så himla stökigt annars.

JeZZifelt 2011-09-23 10:28

Har försökt mig på en annan variant nu..
Har ingen aning om jag ens gjort i närheten av rätt, men att något är fel det vet jag! ;) För den visar båda offlinebilden och onlinebilden när den är offline. Else visas alltså även fast en If är uppfylld. Jag vill att om en If är uppfylld ska inte Else visas. Jag kanske är helt ute och cyklar? :P Hjälp mig gärna! ;)

PHP-kod:

<?php
$date 
getdate();
$hour $date['hours'];
$day date('w');

if (
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';} 
if (
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';}
if (
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';}
if (
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';}
if (
$day == && $hour >= 10 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';}
if (
$day == && $hour >= 16 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';} 
else {echo 
'<img class="fright" src="offline.jpg" alt="" />';} 

?>


captaindoe 2011-09-23 12:52

PHP-kod:

<?php
$date 
getdate();
$hour $date['hours'];
$day date('w');

if (
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 16 && $hour <=21) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 10 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 16 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';
} else {
echo 
'<img class="fright" src="offline.jpg" alt="" />';

?>

Annan variant som funkar lika bra:
PHP-kod:

<?php
$date 
getdate();
$hour $date['hours'];
$day date('w');

if (
$day == 1  || $day ==  || $day ==  || $day ==  4) {
  if(
$hour >= 16 && $hour <=21) {
    echo 
'<img class="fright" src="online.jpg" alt="" />'
  
} else {
    echo 
'<img class="fright" src="offline.jpg" alt="" />';
  } 
}elseif(
$day == && $hour >= 10 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';
}elseif(
$day == && $hour >= 16 && $hour <=22) {echo '<img class="fright" src="online.jpg" alt="" />';
} else {
echo 
'<img class="fright" src="offline.jpg" alt="" />';

?>


JeZZifelt 2011-09-28 13:29

Citat:

Ursprungligen postat av captaindoe (Inlägg 20418502)
.

Stort tack! :)

JeZZifelt 2011-10-03 11:35

Har modifierat till denna kod nu:
PHP-kod:

<?php 
$date 
getdate(); 
$hour $date['hours']; 
$day date('w'); 

if (
$day == && $hour >= 21 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 21 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 21 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 21 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 22 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 22 || $hour <=10) {header("Location: offline.php"); 
}elseif(
$day == && $hour >= 20 || $hour <=11) {header("Location: offline.php");
}else {
header("Location: online.php"); 
}  
?>

Funkar bra förutom en enda grej. Den verkar endast gå efter söndags-tiden. T.ex. nu på en måndag när klockan är över elva borde den vara online, men man kommer till offlinesidan. Ändrar jag så att även söndag är online efter 11 (ändrar till 10) så hamnar jag rätt på onlinesidan. Varför blir det så?


Alla tider är GMT +2. Klockan är nu 19:38.

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