Seite umleiten; „Location“-Header-Feld scheint nicht zu gehen

son gohan

Erfahrenes Mitglied
Hallo Forum,

ich muss ein Bestellformular nach abschicken auf eine andere Seite umleiten damit die POST Daten verloren gehen und niemand durch neuladen der Seite doppelt senden kann.

Das Umleiten muss aber erst nach einer bestimmten PHP if Abfrage erfolgen, normal hatte ich dort auch mit header location es versucht, aber das klappte nicht.

Warum nun erst nach der if Abfrage umleiten?
Das liegt daran, das zuerst ein paar mysql Querys gesendet werden müssen, bevor die Seite umgeleitet wird.

Umleiten muss ich die Seite aber, weil ja sonst jeder beliebig oft die Seite nachladen kann und so unnötige Daten gesammelt werden.
 
Erhöhe mal die Fehlermeldungssensibilität PHPs. Möglicherweise gibt es eine Fehlermeldung, die jedoch unterdrückt wurde.
 
Schuldigung Leute, das hätte ich vielleicht doch noch erwähnen sollen, bei header location bekamm ich die Fehlermeldung:

Cannot modify header information - headers already sent by
 
tag tag


also erstmal darf ganz am anfang von der php seite nichts stehen, sie muss mit

PHP:
<?
ob_start();
?>
anfngen

danach
HTML:
<html>
<head> .....



nun kannst du deine if abfrage machen mit
PHP:
<?
header("seite.php");
?>

gruß ich
 
Also ich weis eigentlich schon das es wohl daran liegt das ich vorher möglicherweise eine Ausgabe erzeugt habe, warum das header location nicht mehr funktioniert. Ich habe aber auch schon viel rumprobiert und kann es irgendwie doch nicht verhindern mit den Ausgaben vorher.

Am Anfang der Seite setze ich lauter Variablen und Sessions id´s und ein paar Funktionen und das hindert auch schon die header Funktion am funktionieren.

Ich glaube mir kann wohl doch nur noch eine andere Lösung helfen, möglicherweise Javascript oder? Nur muss es mit PHP zusammenarbeiten und erst bei erzeugen von bestimmten Abfragen neuladen.
 
Prüfe lieber alle eventuelle Skript-Dateien. Selbst ein Leerzeichen oder ein Zeilenumbruchzeichen vor oder zwischen PHP-Blöcken ist bereits eine Ausgabe.
 
Zurück