header(); exit();

Alles, was PHP betrifft, kann hier besprochen werden.

header(); exit();

Postby saila » 03. January 2007 00:08

Hi,

kurz:

Laut PHP-Manual, wird nach header(); exit(); aufgerufen. Nun läuft das auch alles, doch die header-Adresse wird nicht geladen. Es folgt eine weise Seite.

header(); wird vor HTML-Ausgabe aufgerufen. Ist also soweit ok.

Muss man irgendetwas in PHP einstellen, das die header-Anweisung ausgeführt wird, wenn das Script durch exit abgebrochen wird?
saila
 
Posts: 30
Joined: 15. September 2006 23:28

Postby Wiedmann » 03. January 2007 00:23

Es folgt eine weise Seite.

Nach:
header(); wird vor HTML-Ausgabe aufgerufen.
Code: Select all
<?php
    header();
    exit();
?>
<html>...</html>

Kann der Browser ja nur eine leere Seite anzeigen.

doch die header-Adresse wird nicht geladen.

Welche "header-Adresse"?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby saila » 03. January 2007 00:38

Bsp.:
Code: Select all
<?php
if(isset($_REQUEST['bla']) AND $_REQUEST['bla'] > 0) {
 header("Location: index.php");
 exit();
}
echo "<html>......</html>";
?>


Normalerweise wird die Seite index.php mit entsprechenden Inhalten geladen. Zumindest ist es bei mir auf dem Server so. Bei einem Bekannten läuft das nicht so ab. Dort wird zwar umgeleitet, aber die Seite wird nicht geladen bzw. nicht neu geladen.
Code: Select all
Last edited by saila on 03. January 2007 00:44, edited 1 time in total.
saila
 
Posts: 30
Joined: 15. September 2006 23:28

Postby martinpre » 03. January 2007 00:38

Was versuchst du zu machen?

Die Funktion header() kann man für mehrere Sachen verwenden.
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby Wiedmann » 03. January 2007 02:24

Bei einem Bekannten läuft das nicht so ab. Dort wird zwar umgeleitet, aber die Seite wird nicht geladen bzw. nicht neu geladen.

Sorry, was willst du damit sagen?

Dann zum Code:
Code: Select all
<?php
if(isset($_REQUEST['bla']) AND $_REQUEST['bla'] > 0) {
 header("Location: index.php");
 exit();
}
echo "<html>......</html>";
?>

Du willst also, wenn "bla" gesetzt ist und "bla" grösser 0 ist, zur "index.php" weiterleiten. ansonsten soll der HTML-Code angezeigt werden.

a) In welcher Datei ist dieser Code? Bzw. mit welcher URI wird diese Datei aufgerufen, in welchem Verzeichnis liegt diese.
b) Mit welcher URI wird die "index.php" aufgerufen, in welchem Verzeichnis liegt diese.

und c) der Location-Header ist natürlich falsch, weil man dort eine Komplette URI angeben muss und nicht nur einen Dateinamen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby saila » 03. January 2007 02:59

Was ich sagen wollte, geht aus diesem Thread hervor.

Stimmt, man muss die komplette URL angeben in einem header(); der zur Weiterleitung verwendet wird.

Es ist eine Funktion und liegt in einer Funktionen-Datei. Diese wird entsprechend eingebunden.

Allerdings danke für die Nachfrage. In der Zwischenzeit habe ich den Fehler gefunden und behoben. Zu meiner Schande gab es noch eine HTML-Ausgabe.
saila
 
Posts: 30
Joined: 15. September 2006 23:28

Postby deepsurfer » 03. January 2007 13:58

Was ich sagen wollte, geht aus diesem Thread hervor.

Nicht ganz....
Von daher fragen die Jungs ja danach, denn die info wo was liegt fehlt voll und ganz.

Denn die index.php kann ja auch in einem anderen Pfad liegen, laut deinem Scriptauszug geht die Abfrage davon aus das die gewünschte index.php im selben Verzeichniss liegt.

Beispiel: wenn dein Script von einem unterpfad geöffnet wird aber die benötigte index.php ein pfad höher, so sollte dies auch im Script vermerkt werden ( ../index.php )
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby wkraemer » 05. January 2007 07:29

Ich gebe bei header() immer die komplette Adresse mit Server an. Da funktioniert es:
Beispiel:

Code: Select all
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");


Viel Erfolg, Wolfgang
wkraemer
 
Posts: 26
Joined: 16. November 2003 11:36
Location: Simmern


Return to PHP

Who is online

Users browsing this forum: No registered users and 12 guests