Det här funkar väl:
if( date("G:i") >= "17:00" || date("G:i") < "07:00" )
echo("Stängt");
else
echo("Öppet");
21 svar · 3 417 visningar · startad av Forcevision
Tjabba !
Sitter nu igen med lite php tankar till min hemsida. Har kollat lite på olika php forum och på lite php sidor men inte hittat något direkt som jag kan lära mig detta jag nu tänker fråga.
Skulle vilja ha en tex som står från ett visst klockslag tex 17.00 så skall det stå stängt för dagen och 07.00 så skall det stå öppet. Känns inte så avancerat men kan inte hitta hur man gör detta i php så vänder mig till er och ser om ni har lust att hjälpa mig med detta ?
/Force
Det här funkar väl:
if( date("G:i") >= "17:00" || date("G:i") < "07:00" )
echo("Stängt");
else
echo("Öppet");
Tackar casca för scriptet. :)
Om du är nöjd med casca's svar så är det bra om du markera hans svar som lösning så ser alla att ditt problem är löst. (du hittar det uppe till höger i hans inlägg)
Provade det nu ser kanon ut, hur blir det om jag vill att det skall vara stängt lördag och söndag hela dagarna ser koden ut då ?
Kollade runt lite på google för att få ihop detta men hittar bara för datum input i koden men inget om speciella dagar.
Känns som du inte alls söker på google, php manualen säger ju allt du behöver med datum: http://php.net/manual/en/function.date.php
Kolla:
N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
Kolla bara om date("N") är större än 5 i din if fråga:
if( date("G:i") >= "17:00" || date("G:i") < "07:00" || date("N") > 5 )
echo("Stängt");
else
echo("Öppet");
Typ.
Tror jag sökt lite fel. Tackar verkar vara en kanon sida. Sedan skulle jag vilja ändra texten som skrivs ut stängt och öppen med hjälp av css, men jag vet inte får inte det heller att fungera :)
provat detta
if( date("G:i") >= "17:00" || date("G:i") < "07:00" || date("N") > 5 )
echo("<span class="text1">Stängt</span>");
else
echo("<span class="text2">Öppet</span>");
Men det fungerar inte fattar inte hur jag kan klämma in en css kode i php koden ?
Du avslutar ju PHP strängen fel:
if( date("G:i") >= "17:00" || date("G:i") < "07:00" || date("N") > 5 )
echo("<span class=\"text1\">Stängt</span>");
else
echo("<span class=\"text2\">Öppet</span>");
Du få escapar " i strängar om du skall ha med dom.
Okej vad menas med escapar ?
Okej vad menas med escapar ?
echo skriver ju ut allt mellan citattecknen. Om du då skirver class=" så tror han att strängen han ska skriva ut slutar där. Men om du skriver en \ framför citattecknet så ignoreras det. Så när du använder echo skriv alltid \" istället för ".
Aha okej då är jag med tack för svaren.
Fattar inte riktigt nu ser jag att det står stängt på hemsidan fast det skall vara öppet i kodningen. Hmmm... Vad kan felet vara ?
Min kod ser ut som följande
<?php if( date("G:i") >= "14:30" || date("G:i") < "06:57" || date("N") > 5 ) echo ("<span class=\"close\">Stängt</span>"); else echo ("<span class=\"open\">Öppet</span>"); ?>
Är det så du är på en server som säger att söndag är första dagen i veckan, då få du ändra 5 till 4.
Men det är ju Torsdag idag ?
Jag kan visserligen absolut ingenting om php - men faktum är att date() returnerar en sträng. Det kan därför vara lite vanskligt att göra jämförelser med < och >. Därför hade jag gjort jämförelsen på timmar och minuter separat.
Men det är ju Torsdag idag ?
Ja, men beroende på vad du är i värdlen så stämmer det inte att torsdag är dag 4 i veckan
kolla vad date("N") är för något på servern, koden fungera bra: http://php.voigt.se/sandbox/isOpen/
I din if sats skriver du ex. "13:00" <= "14:00" vilket inte kommer att fungera eftersom bägge klockslagen är som strängar inte tal.
Enklast är att göra om strängarna till unixtimestamp, som är tal, förslagsvis med funktionen strtotime()
I din if sats skriver du ex. "13:00" <= "14:00" vilket inte kommer att fungera eftersom bägge klockslagen är som strängar inte tal.
Enklast är att göra om strängarna till unixtimestamp, som är tal, förslagsvis med funktionen strtotime()
För står inte riktigt hur jag skall göra med unixtimestamp ?