35 Stimmen

PHP: exit in include() soll nicht aufrufendes Script abbrechen

Frage von Gast | Letztes Update am 25.03.2021 | Erstellt am 24.10.2018

Den Aufbau meiner Webseite habe ich so strukturiert, dass ich innerhalb meiner index.php je nach aufgerufener Seite einen anderen Inhalt mit include() einfüge.

In einigen dieser includeden Dateien benutze ich auch ein exit, falls ich das eingefügte Skript nur zu einem bestimmten Teil ausführen möchte.

Nun ist das Problem aber, dass nach dem Aufruf von exit auch meine Hauptseite beziehungsweise die index.php abgebrochen wird. Dadurch wird beispielsweise der Footer auf entsprechenden Seiten nicht mehr angezeigt. Was kann ich tun?

AntwortenPositivNegativDatumStimmen
3Beste Antwort3 Stimmen

Benutze einfach "return" statt "exit".

Mit exit wird in der Tat auch das aufrufende parent-Skript gestoppt, mit return nur das Skript, dass du mit include eingebunden hast.
Letztes Update am 25.03.2021 | Erstellt am 24.10.2018

AntwortenPositiv Negativ
00 Stimmen

return gibt die Programmsteuerung an das aufrufende Modul zurück. Die Ausführung wird mit dem Ausdruck fortgesetzt, der dem Aufruf des aufgerufenen Moduls folgt.

Wenn innerhalb einer Funktion aufgerufen, beendet return augenblicklich die Ausführung der Funktion und übergibt den Parameter als Rückgabewert der Funktion. return beendet ebenfalls die Ausführung von Code innerhalb von eval() oder einer Datei.

Wenn im globalen Raum aufgerufen, endet die Ausführung des Skripts. Wenn das aktuelle Skript mit include oder require eingebunden ist, endet nur die Ausführung der eingebundenen Datei und der Wert, der an return übergeben wurde, wird zum Rückgabewert des Aufrufs von include/require. Wenn return im Hauptskript aufgerufen wird, endet das gesamte Skript. Wenn das aktuelle Skript durch die Konfigurationsdirektiven auto_prepend_file oder auto_append_file aufgerufen wurde, wird die Ausführung dieses Skripts beendet.
25.11.2018 um 07:35

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.