Hauptmenü

Untermenü

PHP/MySQL - Header - Kleine Beispiele

1. Die Abschnitte

2. Weiterleitung

Dies ist der wohl am meisten gebrauchte Header. Damit kann man auf eine beliebige Seite weiterleiten. Laut Spezifikation muss dabei ein absoluter Pfad angegeben werden, aber praktisch alle Browser akzeptieren auch einen relativen.


<?php
  header ("Location: http://www.peterkropff.de");
?>

<?php
  header ("Location: bla.htm");
?>

Im Gegensatz zu <meta http-equiv="refresh" content="5; URL=..."> bei HTML gibt es in diesem Fall keine Möglichkeit, eine Zeitverzögerung einzubauen. Man könnte höchstens analog zu setTimeout bei JavaScript mit sleep arbeiten. Dazu findet ihr bei den Beispielen im Ordner beispiele die Datei sleep.php. Und dann seht ihr auch sofort die nachteiligen Auswirkungen.

3. Caching

Um ein proxy- und clientseitiges Zwischenspeichern zu verhindern, muss man schon ein paar Header auf die Reise schicken. Ein halbwegs sicherer Schritt dazu könnte so aussehen.


<?php
  header ("Cache-Control: no-cache, must-revalidate");
  header ("Expires: 0");
  header ("Pragma: no-cache");
?>

4. Texttypen

Des Öfteren ist es wichtig, den Browser über die Art von Textinhalten zu informieren, denn das hat unter Umständen gewaltige Auswirkungen auf die Darstellung. Nehmen wir also mal an, wir haben diese Zeichenkette, die wir an den Browser senden wollen.


<?php
  $bla '<info>
            <bla>bla</bla>
            <blubb>blubb</blubb>
          </info>';
?>

Und nun schaut euch mal die drei folgenden Beispiele an.


<?php
  $bla '...'// s.o.
  header('Content-Type: text/xml');
  echo $bla;
?>

<?php
  $bla '...'// s.o.
  header('Content-Type: text/plain');
  echo $bla;
?>

<?php
  $bla '...'// s.o.
  header('Content-Type: text/html');
  echo $bla;
?>


Was glaubt ihr, wird da jeweils passieren? Nun, im Ordner beispiele gibt es dafür eine Datei namens typen.php. Spielt mal ein wenig damit herum, dann werdet ihr die Unterschiede sofort erkennen. Zum grundsätzlichen Problem komme ich jetzt.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt