Menu
 

 

SSI: Zufällige Ausgaben

von Arne Pottharst

Seinen Besuchern immer das selbe zu bieten ist langweilig. Abwechslung schafft ein Zufallsgenerator, der wechselnde Texte oder Bilder zeigt.

Von Haus aus kennen Server Side Includes keinen Zufallsgenerator, aber mit etwas Bastelarbeit kann man sich aus der Uhrzeit eine Art "Pseudozufallsgenerator" zusammenbauen.

Dies realisieren wir mittels der aktuellen Sekundenangabe, die uns der SSI-Befehl $DATE_LOCAL zurückgibt. Wir erhalten jede Sekunde eine andere Zahl - die wir abfragen.

Zuerst müssen wir aber die Zeit so formatieren, dass sie uns nur die Sekunden zurückgibt. Standardmäßig wird die Zeit in der Form Sunday, 24-Oct-2004 12:29:48 CEST angezeigt, das gewünschte Format erhalten wir per

<!--#config timefmt="%S" -->

timefmt ist das Format, in dem das Datum dargestellt werden soll, %S steht für "Sekunden", sie werden als zweistellige Zahl zurückgegeben: 48

Da eine Minute aber 60 Sekunden hat (00-59), wir aber in diesem Fall nur 10 Texte zeigen wollen, fragen wir mit Hilfe des Regulären Ausdruckes /.0/ die zweite Stelle ab, der Punkt steht für ein beliebiges Zeichen. In diesem Falle würden 00, 10, 20 etc. den gleichen Text liefern. Es können natürlich auch 60 verschiedene Texte verwendet werden, dann fragt man einfach /00/, /01/, /02/ und so weiter ab.

Es folgt der Quelltext: das Sekundenformat wird gesetzt, die Zeit wird in einer Variablen gespeichert und diese wird dann abgefragt.

<!--#config timefmt="%S" -->
<!--#set var="sekunde" value="$DATE_LOCAL" -->
<!--#if expr="$sekunde = /.0/" -->
  Morgenstund' hat Gold im Mund.
<!--#elif expr="$sekunde = /.1/" -->
  Noch ist nicht aller Tage Abend.
<!--#elif expr="$sekunde = /.2/" -->
  Wer A sagt, muss auch B sagen.
<!--#elif expr="$sekunde = /.3/" -->
  Wo ein Wille ist, ist auch ein Weg.
<!--#elif expr="$sekunde = /.4/" -->
  Wer zuerst kommt, mahlt zuerst.
<!--#elif expr="$sekunde = /.5/" -->
  Es ist noch kein Meister vom Himmel gefallen.
<!--#elif expr="$sekunde = /.6/" -->
  Ein blindes Huhn findet auch einmal ein Korn.
<!--#elif expr="$sekunde = /.7/" -->
  Wer anderen eine Grube gräbt, fällt selbst hinein.
<!--#elif expr="$sekunde = /.8/" -->
  Besser spät als nie.
<!--#elif expr="$sekunde = /.9/" -->
  Nicht verzagen, Dr. Web fragen!
<!--#endif -->

Statt eines Spruches kann man natürlich auch eine externe Datei, einen Link oder ein Bild einfügen, ganz wie es beliebt.

Und hier folgt die Live-Demo:

Besser spät als nie.

Tipp: Die Seite neu zu laden, erhöht die Pageviews von Dr. Web, ärgert aber unseren Server.

 
   Anzeigen

Navigation:    Webdesign - Programmierung - Web Grafiken - Software Guides - Tools - Templates - Schriftarten - Seminare - IT News
Partner:   Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere