header weiterleitung funktioniert nich im web

schecker

Erfahrenes Mitglied
Hy habe folgenden Quellcode geschrieben:
PHP:
<?
session_start();
$_SESSION["suchen"]=$_POST["suche"];
header("location:index.php?id=suche&site=1");
?>

leider funktiniert dies nur lokal auf meinem Server. Kennt jemand dieses Problem und kann mir weiterhelfen?
Danke schecker
 
naja eigenlicht ist da keine Ausgabe, das ist alles was in der Site steht.
Aber es funktioniert. wie kann das sein
 
Schau mal in den Quelltext...vor dem öffnenden PHP-Tag darf nichts stehen...nicht mal ein Leerzeichen.

Bist du sicher, dass $_POST["suche"] vorhanden ist?
Falls nicht, könnte dies eine Fehlermeldung erzeugen...das wäre dann eine Ausgabe, welche den header() verhindert.
 
Wenn vorher bereits eine Ausgabe erfolgte, sollte es eigentlich – je nach Fehlermeldungslevel – eine Fehlermeldunge („Cannot modify header information“) ausgegeben werden. Wenn das Skript nicht nach der Umleitung explizit abgebrochen wird, kann es sein, dass der Browser die nachfolgende Ausgabe darstellt anstatt der Weiterleitung zu folgen.
 
Falls du eine Ausgabe hast kann du auch folgendes machen.
Am Anfang des Scriptes schreivst du:
PHP:
ob_start();
und ans Ende schreibst du:
PHP:
ob_end_flush();

Somit wird die Seite erst komplett bearbeitet, befor diese ausgegeben wird und die Header Fehlermeldung kommt nicht mehr.
 
Zurück