PHP PHP Header senden...

xSeppelx

Lt. Junior Grade
Registriert
Sep. 2009
Beiträge
384
Hi,

ich habe da ein Problem bei meinem Script.
Ich sende über ein Formular Daten an die Datenbank, das Problem ist aber das ich dann das ganze gerne aktuallisiert hätte, bzw. auf einer neuen Seite.
Das funktioniert ja theoretisch mit der header Funktion:
PHP:
ob_start();
header("Location: http://....);  //Liegt weit unten im Code, ein Problem? Aktuell Zeile 93^^
ob_end_flush();

aber ich bekomme folgendes:
Cannot modify header information - headers already sent ...
Ich wüsste gerne ob es einen anderen weg gibt die Seite umzuleiten oder wie man das Problem beheben kann?
Übrigens steht im Header:
Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!---CSS Code...--->
</head>
 
Ja darauf will ich ja auch nicht hinaus ;)
Ich will die Seite weiterlleiten und habe das nur gepostet, falls es eine Fehlequelle sein könnte.
 
//edit: ok, schon erledigt.

Du kannst auch das Meta-Refresh-Tag nehmen, oder ein JavaScript window.location.href verwenden.

gruß
hostile

Die Meldung (header already sent) kommt, weil vorher schon eine Ausgabe stattgefunden hat, die nach den HTTP-Header kommt. Das hat aber nichts mit der Stelle im Quellcode zutun.
 
Zuletzt bearbeitet:
Jo ich denke auch die Ausgabe ist das Problem, kannst du mir das mit javascript näher erklären?
habe davon keine ahnung.
Ich würd halt gerne nach beendigung meines Scripts das ganze gerne weiterleiten ;)
 
Dann machste am ENDE des PHP-Scripts (Das stellt sicher, dass dein PHP, Script durchlaufen wurde) eine Ausgabe vor das /body-Tag:

Code:
<script typ="text/javascript">
window.location.href="http://www.google.de"; 
</script>


gruß
hostile
 
oder du machst nich alle direkt als echo sondern speicherst das in eine $ausgabe variable zwischen. Ganz am ende machste nen echo $ausgabe und dort steht der ganze html inhalt drin. Dann kannste zwischendurch auch nen header senden.

javascript is unklug. Einmal deaktiviert scho is die weiterleitung hinfällig.
 
Die Ausgaben müssen allerdings vor dem header senden erfolgen, aber ich habe jetzt noch eine andere Möglichkeit gefunden.
Ich verlage das Script etwas und lasse die "letzten Aufgaben" in einer extra Seite laufen, wo sich das ganze vlt. ein paar ms aufhält und von dort leite ich das ganze über refresh Content(HTML META TAG) weiter ;)
Dadurch habe ich das Script auch etwas verkleinert und übersichtlicher gemacht!
 
ausgaben müssen nie vor irgendwas, es sind nur ausgaben. das script kann ja auch weiterrechnen wenn die zwischenzahl nicht ausgegeben wurde. ;) spätestens bei großen scripten mit oop wird es brenzlich, wenn inhalte immer sofort ausgegeben werden, anstatt sie irgendwo zwischenzuspeichern.
 
Ich habe ein Formular was ausgegeben wird, das lässt sich nun mal nicht unterdrücken ;)
Weil es keinen Sinn macht, erst muss das Formular seinen Zweck erfüllen, dann kommt der rest des Scripts, welcher dann zum Schluss bei getaner Arbeit weiterleitet.
 
Dann machste bei er programmierung was falsch. Das Forumular wird doch nur ausgegeben und kann noch garkein zweck haben oder irgendwas machen. Oder is das hier ne AJAX geschichte?
 
wenn du nach dem schema
Code:
<?php code ?>
<html>
<?php code ?>
<html>
<?php code ?>
<html>
arbeitest, dann weißt du noch nicht wie mans richtig macht. ;) üben heißt das zauberwort.
 
Zurück
Oben