Hilfe - Suche - Mitglieder - Kalender
Vollansicht: header("Location ...
HTML-Editor phase 5 Support > Fragen, Lösungen zu HTML-Problemen bzw. Webdesign-Fragen - Talk > Talktime
Kasperl
hi

ich will das nach einem Formulareintrag auf die selbe Seite verwiesn wird.
dazu habe ich mir diese Zeile aus einem anderen Script herauskopiert und eingefügt.
Jedoch kommt eine Fehlermeldung.

[Fehlermeldung]
Warning: Cannot modify header information - headers already sent by (output started at D:\programme\xampp\htdocs\Langer\Anzeigen.php:12) in D:\programme\xampp\htdocs\Langer\Anzeigen.php on line 45
[/Fehlermeldung]

Muss ich irgendetwas von dieser Quelltextzeile für meine Seite anpassen?

header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/".$relative_url);

cYa
db
HTML
<form action="" method=POST style="display:inline">
<table width="544">
<tr>
<td colspan="2">Nachricht an </td>
</tr>
<tr>
<td colspan="2"><textarea rows=12 cols=100 name=Nachricht class="input"><?=$Nachricht ?></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type=submit value=Absenden name="submit" class="input">
</tr>
</table>
</form>


Ruft beim Absenden automatisch das selbe Script auf
Auge
ZITAT(Kasperl @ 29.01.2006 - 18:40) *
[Fehlermeldung]
Warning: Cannot modify header information - headers already sent by (output started at D:\programme\xampp\htdocs\Langer\Anzeigen.php:12) in D:\programme\xampp\htdocs\Langer\Anzeigen.php on line 45
[/Fehlermeldung]

Was steht da? "headers already sent", zu deutsch: "Die Dateiheader wurden bereits gesendet". Wenn du den Dateiheader ergänzen oder ändern willst, musst du dies vor jeglicher Ausgabe, die zur eigentlichen Datei gehört, tun. Für eine HTML- oder in diesem Fall PHP-Datei heißt das, das diese Anweisung vor allen Zeichen stehen muss, die im Browser ausgegeben werden könnten.

QUELLTEXT
<?php
header("Location: http://www.example.org/");
?>
<DOCTYPE ...>
<html>
<head>
....

Um deine Aufgabe zu lösen, kannst du aber auch andere, einfachere Wege gehen. hds Beispiel mit dem leeren Action-Attribut des Form-Elements funktioniert genauso, wie die Angabe von $_SERVER["PHP_SELF"] im Action-Attribut. In beiden Fällen wird beim Absenden des Formulars die gleiche Datei erneut aufgerufen. Praktischerweise kümmerst du dich oberhalb der HTML-Ausgabe um die Auswertung der übergebenen Daten.

QUELLTEXT
<?php
if (isset($_POST["submit"]) and $_POST["submit"]=="Absenden")
   {
   // Formular auswerten, Daten speichern oder als Email versenden etc. pp.
   }
?>
<DOCTYPE ...>
<html>
<head>
....


Tschö, Auge
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2012 Invision Power Services, Inc.