Auge: header location aus Variable

Beitrag lesen

Hallo

<html>
  <head>
    <title>Ausgabe1</title>
  </head>
<body>
    <?$nr = $_GET['nr'];
   $db = mysql_connect ("localhost","root","data") ;
   $SQLBefehl = "SELECT * FROM products WHERE arejays_products_id = '$nr';";
   $Werte= mysql_db_query("arejays", $SQLBefehl, $db);

$Satz = mysql_fetch_array($Werte);

$url = $Satz['arejays_products_url'];

header("Location: $url);

?>

</body>
</html>

1. Keine Ausgabe vor dem Header (sonst wäre es kein Header).

2. EVA-Prinzip[1]: Dateneingabe, Verarbeitung, Ausgabe
  - Eingabe ist der GET-Parameter ($_GET['nr']), der übrigens eine Überprüfung auf Gültigkeit vertragen kann
  - Verarbeitung ist die Datenbankabfrage mit der folgenden Entscheidung, zu welcher Seite weitergeleitet wird
  - Ausgabe (die hier wegen der zwingend folgenden Weiterleitung garnicht nötig wäre) wäre der Zusammenbau und die Ausgabe des HTML-Quelltextes.

Damit würdest du auch 1. erfüllen, da die Ausgabe von HTML zwingend nach der Headerangabe folgen würde (es gibt ja auch noch andere Header, bei denen eine nachfolgende Ausgabe der Normalfall ist).

3. In diesem Fall eine Krücke: die Verwendung von ob_start und ob_end_flush (puffert die auszugebenden HTML-Teile bis der Header gesendet und der Puffer mit ob_end_flush beendet wird)

[1] hat nichts mit Kinder, Küche, Kirche zu tun

Tschö, Auge

--
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
<dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
Veranstaltungsdatenbank Vdb 0.1