webForumDet fria alternativet

Lite hjälp med php kodning.

PHPur PHP

21 svar · 3 417 visningar · startad av Forcevision

Medlem sedan mars 2007217 inlägg
Frågan#1

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

Medlem sedan feb. 20005 891 inlägg
#2

Det här funkar väl:

	if( date("G:i") >= "17:00" || date("G:i") < "07:00" )
		echo("Stängt");
	else
		echo("Öppet");
Medlem sedan mars 2007217 inlägg
#3

Tackar casca för scriptet. :)

Medlem sedan juni 20006 031 inlägg
#4

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)

Medlem sedan mars 2007217 inlägg
#5

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.

Medlem sedan juni 20019 519 inlägg
#6

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.

Medlem sedan mars 2007217 inlägg
#7

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 ?

Medlem sedan juni 20019 519 inlägg
#8

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.

Medlem sedan mars 2007217 inlägg
#9

Okej vad menas med escapar ?

Medlem sedan aug. 2008815 inlägg
#10

Forcevision skrev:

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 ".

Medlem sedan mars 2007217 inlägg
#11

Aha okej då är jag med tack för svaren.

Medlem sedan nov. 20016 480 inlägg
#12

Eller så skriver du med enkelfnuttar:

echo '<span class="text1">Stängt</span>';
Medlem sedan mars 2007217 inlägg
#13

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>"); ?>
Medlem sedan juni 20019 519 inlägg
#14

Ä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.

Medlem sedan mars 2007217 inlägg
#15

Men det är ju Torsdag idag ?

Medlem sedan juni 200032 967 inlägg
#16

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.

Medlem sedan juni 20019 519 inlägg
#17

Forcevision skrev:

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/

Medlem sedan mars 2007217 inlägg
#18

Nu är det öppet står det på hemsidan ?

hmmm... verkar skumt.

Medlem sedan juni 20014 290 inlägg
#19

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()

Medlem sedan mars 2007217 inlägg
#20

GunnarD skrev:

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 ?

348 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
221 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)