Ik zie tussen de PHP Scripts staan begroeting met tijd, nu heb ik een idee in mijn in mijn hoofd maar weet niet precies hoe te programmeren met PHP of Javascript.
Hier mijn idee, als je bijvoorbeeld met een webshop werkt:
(Als voorbeeld pakken we dat het vandaag dinsdag is en het is 13:00 uur)
Het script moet dan automatisch naar de dag en tijd kijken en zeggen voor 15:00 besteld is morgen in huis.
zodra het 15:00 uur is geweest moet het script zeggen Nu bestellen is donderdag in huis enz...
bestellen mensen op vrijdag na 15:00 moet er staan dinsdag in huis
Is dit mogelijk? en zoja hoe? Zelf kom ik er niet uit :$
<?php
// Tijdzone voor Nederland
date_default_timezone_set('Europe/Amsterdam');
// Dag van de week: 0 (zondag) t/m 6 (zaterdag)
$weekdag = (int) date('w');
if (($weekdag == 0) || ($weekdag == 6)) {
// PostNL bezorgt pakketten op dinsdag t/m zaterdag.
// @link https://www.postnl.nl/voorthuis/pakket-versturen/postbezorging/
$bezorging = 'Vandaag besteld, dinsdag bezorgd.';
} else {
// Uur van de dag: 0 t/m 23 zonder voorloopnullen
$uur = (int) date('G');
if ($uur < 15) {
$bezorging = 'Vandaag voor 15:00 uur besteld, morgen al in huis.';
} else {
if ($weekdag == 5) {
// Vrijdag heeft de lastigste cut-off tijd: dat wordt ook pas dinsdag.
$bezorging = 'Vandaag na 15:00 uur besteld, dinsdag bezorgd.';
} else {
// Standaard cut-off tijd is drie uur 's middags.
$bezorging = 'Vandaag na 15:00 uur besteld, overmorgen in huis.';
}
}
}
?>
Nu heb ik nog 2 vragen over dit script.
- Sinds vannacht 00:00 krijg ik een 500 error op de pagina.
Ik heb een klein schema gemaakt wat het script moet volgen, is het niet beter om dit met een switch te doen?:
if Maandag (weekdag 1)
Bij maandag mag hij de klok rond echo-en (Vandaag besteld = Woensdag thuis)
if Dinsdag (weekdag 2)
Zodra het dinsdag word 00:00
Moet hij echo-en (Voor 15:00 besteld = morgen in huis)
Na 15:00 (Bestel nu = donderdag in huis)
if Woensdag (weekdag 3)
Zodra het woensdag word 00:00
Moet hij echo-en (Voor 15:00 besteld = morgen in huis)
Na 15:00 (Bestel nu = vrijdag in huis)
if Donderdag (weekdag 4)
Zodra het donderdag word 00:00
Moet hij echo-en (Voor 15:00 besteld = morgen in huis)
Na 15:00 (Bestel nu = Zaterdag in huis)
if Vrijdag (weekdag 5)
Zodra het donderdag word 00:00
Moet hij echo-en (Voor 15:00 besteld = morgen in huis)
Na 15:00 (Vandaag besteld = Woensdag thuis)
if Zaterdag (weekdag 6)
de klok rond echo-en (Vandaag besteld = Woensdag thuis)
if Zondag (weekdag 0)
de klok rond echo-en (Vandaag besteld = Woensdag thuis)
De 500-error zal waarschijnlijk niet van het voorbeeldscript komen. Laat eens zien wat je hebt gedaan?
Je kunt inderdaad ook een switch gebruiken. Combineer daarin dan wel meerdere cases tot één, want bijvoorbeeld maandag, zaterdag en zondag zijn nu exact hetzelfde (altijd vandaag besteld, woensdag in huis).