Vraag over begroeting

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoeri Achterbergen

Yoeri Achterbergen

13/03/2014 23:20:07
Quote Anchor link
Hallo,

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 :$

Groetjes,

Yoeri
 
PHP hulp

PHP hulp

29/03/2024 10:03:31
 
Php knipper

php knipper

13/03/2014 23:27:36
Quote Anchor link
php werkt met de server datum en tijd, indien het een server in de VS is zal deze niet vanzelf een het Nederlandse uur gebruiken.

javascript werkt met datum en tijd van het systeem, indien deze fout zijn ingesteld dan zal dat op de site ook verkeert worden weergegeven.
 
- Ariën  -
Beheerder

- Ariën -

13/03/2014 23:32:13
Quote Anchor link
Ik zou in ieder geval naar PHP kijken.
 
Yoeri Achterbergen

Yoeri Achterbergen

13/03/2014 23:41:28
Quote Anchor link
Als je met php werkt, hoe kan ik dit dan realiseren en programmeren?
 
- Ariën  -
Beheerder

- Ariën -

14/03/2014 00:58:17
Quote Anchor link
Hoe sla je de datum op, in welk formaat?
 
Ward van der Put
Moderator

Ward van der Put

14/03/2014 06:58:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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.';
        }
    }
}

?>
Gewijzigd op 15/03/2014 11:52:23 door Ward van der Put
 
Yoeri Achterbergen

Yoeri Achterbergen

14/03/2014 13:06:04
Quote Anchor link
Beste Ward van der Put,

Hartstikke bedankt voor dit stuk script! Nu moet ik dus alleen nog $bezorging laten echo-en waar ik het wil laten verschijnen?

Met vriendelijke groet,

Yoeri
 
Michael -

Michael -

14/03/2014 13:16:26
Quote Anchor link
>>> Nu moet ik dus alleen nog $bezorging laten echo-en waar ik het wil laten verschijnen?

Ja uiteraard.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $bezorging;
?>
Gewijzigd op 14/03/2014 13:16:39 door Michael -
 
Yoeri Achterbergen

Yoeri Achterbergen

15/03/2014 10:33:47
Quote Anchor link
Bedankt allemaal!

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)
 
Ward van der Put
Moderator

Ward van der Put

15/03/2014 10:43:46
Quote Anchor link
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).
 
Yoeri Achterbergen

Yoeri Achterbergen

15/03/2014 11:43:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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.';
    break;
}
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.';
        }
    }
}

?>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $bezorging;
?>


dit is wat ik in een .php bestand op de server heb staan.
Gisteren werkte het prima! tot vannacht 00:00 toen werd de pagina een 500 error.

Gr. yoeri
 
Ward van der Put
Moderator

Ward van der Put

15/03/2014 11:49:49
Quote Anchor link
Je hebt een break in de eerste if gezet. En die triggerde vannacht, toen het zaterdag werd. Haal die break eruit.
 
Yoeri Achterbergen

Yoeri Achterbergen

15/03/2014 13:58:11
Quote Anchor link
Heb even wat geprobeerd te maken d.m.v. een switch. Weet niet of ik opweg ben maar met wat tips zal t denk wel lukken:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$uur
= (int) date('G');
$='sunday';

switch ($day) ($uur){

case
'monday':
if ($uur <15) {$shipstatus = 'Vandaag besteld  = Woensdag in huis';
}
else { $uur >15) {$shipstatus = 'Vandaag besteld = Donderdag in huis';
break;

case
'tuesday':
if ($uur <15) {$shipstatus = 'Vandaag besteld  = Woensdag in huis';
}
else { $uur >15) {$shipstatus = 'Vandaag besteld = vrijdag';
break;

?>


Kan dat op zo en manier?
 
Obelix Idefix

Obelix Idefix

15/03/2014 14:07:23
Quote Anchor link
Yoeri Achterbergen op 15/03/2014 13:58:11:
Kan dat op zo en manier?

Heb je het zelf al getest??

Regel 3 zal niet goed gaan.
 
Ward van der Put
Moderator

Ward van der Put

15/03/2014 14:16:15
Quote Anchor link
Een switch-case-default lijkt op een if-elseif-else.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
date_default_timezone_set('Europe/Amsterdam');

define('CUTOFFTIJD', 15);
$weekdag = (int) date('w');
$uur = (int) date('G');

switch ($weekdag) {
    case
0:  // zondag
    case 1:  // maandag
    case 6:  // zaterdag
        $begroeting = 'Vandaag besteld, woensdag in huis';
        break;
    case
5:  // vrijdag
        if ($uur < CUTOFFTIJD) {
            $begroeting = 'Vandaag besteld, zaterdag in huis';
        }
else {
            $begroeting = 'Vandaag besteld, woensdag in huis';
        }

        break;
    default:
  // dinsdag, woensdag en donderdag
        if ($uur < CUTOFFTIJD) {
            $begroeting = 'Vandaag besteld, morgen in huis';
        }
else {
            $begroeting = 'Vandaag besteld, overmorgen in huis';
        }

        break;
}


echo $begroeting;
?>

[/oode]
Gewijzigd op 15/03/2014 14:21:10 door Ward van der Put
 
Yoeri Achterbergen

Yoeri Achterbergen

15/03/2014 16:05:50
Quote Anchor link
Na wat aanpassingen heb ik dit van de code gemaakt :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
date_default_timezone_set('Europe/Amsterdam');

define('CUTOFFTIJD', 15);
$weekdag = (int) date('w');
$uur = (int) date('G');

switch ($weekdag) {
    case
6:  // zaterdag
    case 0:  // zondag
    case 1:  // maandag
            $shipstatus = 'Vandaag besteld = woensdag in huis(€5.95)!';
        break;
    case
2:  // dinsdag
    if ($uur < CUTOFFTIJD) {
            $shipstatus = 'Vandaag voor 15:00 besteld = morgen in huis(€5.95)!';
        }
else {
            $shipstatus = 'Vandaag besteld = donderdag in huis(€5.95)!';
        }

        break;
    case
3:  // woensdag
    if ($uur < CUTOFFTIJD) {
            $shipstatus = 'Vandaag voor 15:00 besteld = morgen in huis(€5.95)!';
        }
else {
            $shipstatus = 'Vandaag besteld = vrijdag in huis(€5.95)!';
        }

        break;
    case
4:  // donderdag
    if ($uur < CUTOFFTIJD) {
            $shipstatus = 'Vandaag voor 15:00 besteld = morgen in huis(€5.95)!';
        }
else {
            $shipstatus = 'Vandaag besteld = zaterdag in huis(€5.95)!';
        }

        break;
    case
5:  // vrijdag
        if ($uur < CUTOFFTIJD) {
            $shipstatus = 'Vandaag voor 15:00 besteld = morgen in huis(€5.95)!';
        }
else {
            $shipstatus = 'Vandaag besteld = woensdag in huis(€5.95)!';
        }

        break;
}

?>


<html>
<style>

.shipstatus{
color:#4FC431;
font-size:12px;
font-family:arial;
</style>

<body>
<div class="shipstatus">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $shipstatus;?>


</div>

</body>
</html>

Bedankt voor alle rectie's!!! Top!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.