• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Anzeige, ob Geschäft geöffnet oder nicht

BedrockEater

Neues Mitglied
Hallo,

Ich versuche gerade eine Website für ein Geschäft auf die Beine zu stellen. Ich würde dabei gerne eine Anzeige einbauen, die je nach Uhrzeit sagt, dass der Laden auf hat oder eben zu ist. Ich denke das ist mit JavaScript und einer if- Anweisung nicht sehr schwierig, auf dem Gebiet bin ich jedoch noch nicht so erfahren darum würde ich mich freuen wenn jemand ein Beispiel liefern würde.

Vielen, vielen Dank im voraus! :)
 
Werbung:
Werbung:
Also Moment mal. Warum sollte man dafür JavaScript benutzen? Das Problem bei JS ist, dass man die Computerzeit des Surfers nutzen muss. Aber wer garantiert dir, dass dessen Computerzeit richtig eingestellt ist?!? Wenn das Geschäft z.B. von 8-20 Uhr geöffnet hat, es aber 22 Uhr ist, die Computerzeit des Webseitbesuchers jedoch 19 Uhr, dann steht docht fälschlicherweise, das Geschäft habe geöffnet.

Ich würde das ganze mit PHP umsetzen, denn die Serverzeit lügt nie!
 
Ich würde das ganze folgendermaßen umsetzen:
PHP:
$stunde = date("H");

if ($stunde < "8") {
    echo "geschlossen";
} elseif ($stunde >= "20") {
    echo "geschlossen";
} else {
    echo "yeah, wir haben geöffnet, besuchen Sie uns doch...";
}
Ist ungetestet, müsste so allerdings gehen. In diesem Fall sind die Öffnungszeiten von 8-20 Uhr, Sonntags und Feiertags ebenfalls geöffnet. :D

Jedoch lässt sich der Code natürlich noch weiter ausbauen. Dies ist nur ein Ansatz, wie ich es zumindest machen würde. Denn JS ist wirklich eine beschissene Idee.
 
Vielen Dank dafür, ich habe damit weitergearbeitet und falls jemand den Code gebrauchen kann:

PHP:
date_default_timezone_set ('Europe/Berlin');
$stunde = date("H");
$tag = date("w");

if (($tag < "6" AND ($stunde < "11.30" OR $stunde >= "22")) OR ($tag = "6" AND ($stunde < "17" OR $stunde >= "22")))
    {echo "geschlossen";}
else
    {echo "yeah, wir haben geöffnet, besuchen Sie uns doch...";}

Heißt: Montag-Samstag von 11.30 bis 22 Uhr geöffnet, Sonntags jedoch nur von 17 bis 22 Uhr. Alle Zeiten außerhalb dieser echoen "geschlossen".
 
Zuletzt bearbeitet:
Werbung:
Und das funktioniert? Da werden Strings mit kleiner/größer verglichen.
 
Also Moment mal. Warum sollte man dafür JavaScript benutzen? Das Problem bei JS ist, dass man die Computerzeit des Surfers nutzen muss. Aber wer garantiert dir, dass dessen Computerzeit richtig eingestellt ist?!? Wenn das Geschäft z.B. von 8-20 Uhr geöffnet hat, es aber 22 Uhr ist, die Computerzeit des Webseitbesuchers jedoch 19 Uhr, dann steht docht fälschlicherweise, das Geschäft habe geöffnet.

Ich würde das ganze mit PHP umsetzen, denn die Serverzeit lügt nie!
Und wer garantiert das der Benutzer in der selben Zeitzone ist wie der Server?
 
Da ich mal vermute das es sich um einen deutschen Laden handelt macht er doch alles richtig mit

PHP:
date_default_timezone_set ('Europe/Berlin');

Was mir aber an seinem Code noch aufgefallen ist, ja es funktioniert mit dem kleiner/größer Vergleich. Jedoch bringt folgendes nichts
PHP:
$stunde < "11.30"
da date('H') nur die vollen Stunden anzeigt ohne Minuten. Und sein Code funktioniert nicht, da er hier die Variable setzt und nicht vergleicht
PHP:
$tag="6"
 
Werbung:
Mal unabhängig von der Zeitzone:
PHP:
<?php
  function isOpen()
  {
     $result = false;
    
     $now = time();
    
     if (date("w") == 6)
       $start = mktime(17, 0, 0);
     else
       $start = mktime(11, 30, 0);
      
     $end = mktime (22, 0, 0);
    
     if ($now >= $start && $now <= $end)
       $result = true;
      
     return $result;
  }
 
  if (isOpen())
    echo "Geöffnet";
  else
    echo "Geschlossen";
?>
 
Und wer garantiert das der Benutzer in der selben Zeitzone ist wie der Server?
Das garantiert dir kein Mensch, jedoch vermute ich mal, dass niemand, der z.B. in Portugal wohnt, auf der Internetseite eines deutschen Geschäfts nachsieht, ob dieses gerade geöffnet hat. Denn selbst wenn, müsste er sich erst mal in ein Flugzeug setzen und herkommen. Dazu kommt, dass man die IP nutzen könnte, um damit das Land und damit die Zeitzone zu definieren. Das würde ich jedoch auf keinem Fall machen, da wenn z.B. ein anonimer Proxyserver in den USA genutzt wird, alles verfälscht ist.

Edit: Mir fällt gerade erst auf, dass das sowieso Schwachsinn ist, mit der Zeitzone. Denn es kommt ja auf die Zeitzone des Ladens an, nicht auf jene des PCs!!!! Das mit der Zeitzone wäre dann eher ein weiteres Argument gegen JS und für PHP. Als kurz: Wie ich bereits sagte, JavaScript dafür zu benutzen ist eine dumme Idee. (Auch könnte JS deaktiviert sein <- weiteres Argument:))

Edit2: Und jetzt fällt mir ein, dass du damit villeicht gemeint haben könntest, dass der Server z.B. in den USA steht, der Laden jedoch in Deutschland. Dann müsste man die Zeitzohne im Script eben definieren, oder aber immer z.B. -6 Stunden einrechnen. Aber PHP ist auf jeden Fall die bessere Wahl.
 
Zuletzt bearbeitet:
Zurück
Oben