Include JA... aber nicht bei weiteren Includes

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Dr-Psycho-Fans
Mitglied
Beiträge: 12
Registriert: 01.12.2008 01:28

Include JA... aber nicht bei weiteren Includes

Beitrag von Dr-Psycho-Fans »

Die Include Funktion läuft, allerdings nur bedingt, denn es wird lediglich nur die 1. Stufe eingebunden. Bei weiteren werden die PHP-Anweisungen ignoriert.

Beispiel:
Für das Design meiner Homepage gibt es einige PHPs. Machen wir's einfach... Vor (header) und hinter (footer) dem Forum soll eine PHP-Datei per Include eingebunden werden. Das funktioniert auch! Doch meine "header php" enthält noch weitere include Funktionien, und GENAU DIESE werden missachtet bzw. nicht ausgeführt. Warum ist dies so?
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Re: Include JA... aber nicht bei weiteren Includes

Beitrag von Xwitz »

Werden Fehlermeldungen angezeigt und ist Fehlermeldungen anzeigen "eingeschaltet"?
Dr-Psycho-Fans hat geschrieben:... und GENAU DIESE werden missachtet bzw. nicht ausgeführt.
Wie äußert sich das?
Dr-Psycho-Fans
Mitglied
Beiträge: 12
Registriert: 01.12.2008 01:28

Beitrag von Dr-Psycho-Fans »

Hallo,

danke erstmal für die Antwort!

Das ist ja das Seltsame: Es äußert sich überhaupt nichts,
die betroffene Stelle ist im Quelltext leer.

Wo finde ich das "Fehlermeldungen anzeigen"? Ich bin
im Adminbereich alles durchgegangen, doch hab nichts
gefunden. Unter Wartung/Fehler-Protokolle war jedenfalls nichts.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Um Fehlermeldungen zu erhalten füge an den Anfang deines php-Programms (in die Datei die includiert aber die nicht selbst includiert wird), noch vor dem ersten include, folgendes ein.

Code: Alles auswählen

error_reporting(E_ALL);
ini_set('display_errors',1);
PS: Ich habe eine Vorahnung. Falls nicht alle Dateien (die includierenden und includierten) im selben Verzeichnis liegen, tippe ich auf falsche Pfadangaben. Schau mal hier:
http://tut.php-quake.net/de/include.html#s3
Falls Du öfters was mit php machen willst, empfehle ich das Tutorial mindestens von Punkt 1 bis 25 durchzuarbeiten.

PPS: Ich habe noch mehr Vorahnungen aber ich warte erst mal die Fehlermeldungen ab.
Dr-Psycho-Fans
Mitglied
Beiträge: 12
Registriert: 01.12.2008 01:28

Beitrag von Dr-Psycho-Fans »

Xwitz hat geschrieben:Um Fehlermeldungen zu erhalten füge an den Anfang deines php-Programms (in die Datei die includiert aber die nicht selbst includiert wird), noch vor dem ersten include, folgendes ein.

Code: Alles auswählen

error_reporting(E_ALL);
ini_set('display_errors',1);
PS: Ich habe eine Vorahnung. Falls nicht alle Dateien (die includierenden und includierten) im selben Verzeichnis liegen, tippe ich auf falsche Pfadangaben. Schau mal hier:
http://tut.php-quake.net/de/include.html#s3
Falls Du öfters was mit php machen willst, empfehle ich das Tutorial mindestens von Punkt 1 bis 25 durchzuarbeiten.

PPS: Ich habe noch mehr Vorahnungen aber ich warte erst mal die Fehlermeldungen ab.
Also...

Code: Alles auswählen

error_reporting(E_ALL);
ini_set('display_errors',1); 
...hat gar nichts im Quelltext ausgespuckt.

Hmm... vermutlich wird es ein derartiges Problem mit den Pfaden geben, ich schnall das aber nicht. Die Pfadangaben sind ja eigentlich alle richtig. In der overall_header.html habe ich das angegeben:

Code: Alles auswählen

<!-- INCLUDE ../../../../oben.php -->
...und in der overall_footer.html folgendes:

Code: Alles auswählen

<!-- INCLUDE ../../../../unten.php -->
...denn das Forum liegt hier: Domain.de/forum/... und die Pfadangabe ist ja vom Template aus zu sehen, und die oben.php und die unten.php liegenim Rootverzeichnis der Domain. Wie bereits erwähnt befinden sich in der unten.php weitere Includes, z.B. diese:

Code: Alles auswählen

<?php include "container_1.php"; ?>
und diese container_1.php befindet sich ebenfalls im Root.

WAS ist also falsch daran? :cry:
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Ach Du Schreck, mit dem phpbb Templatsystem hatte ich jetzt nicht gerechnet. Sorry aber hier steige ich aus.

Wer weiß was das Forum alles im Hintergrund macht, z.B. die Fehlermeldungen wieder unterdrücken, ich weiß es jedenfalls nicht.
Dr-Psycho-Fans
Mitglied
Beiträge: 12
Registriert: 01.12.2008 01:28

Beitrag von Dr-Psycho-Fans »

Dieses Thread befand sich ja auch erst in der Template-Rubrik, bis es jemand hierhin verschoben hat...
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

Hallo,

sorry fürs hin und herschieben, aber ich dachte nach deinem ersten Beitrag es ist ein allgemeines Problem beim programmieren. Habe jetzt erst gesehen, dass es sich auf phpBB3 bezieht. Ist trotzdem nicht ganz die alte Kategorie, da es sich eher ums Modifizieren des Forums dreht, würde ich meinen.
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Dr-Psycho-Fans
Mitglied
Beiträge: 12
Registriert: 01.12.2008 01:28

Beitrag von Dr-Psycho-Fans »

Okay, danke!

Ich hoffe, hier findet jemand Interesse an der Problemlösung.
Eigentlich kann ich mir nicht vorstellen, dass ich der einzige
bin, der Probleme mit dem INCLUDE hat.

-Sebastian
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Du willst also PHP Dateien im Template includen...
Wie schaut's mit

Code: Alles auswählen

<!-- INCLUDEPHP oben.php -->
aus?
Denn

Code: Alles auswählen

<!-- INCLUDE oben.php -->
ist eher was für HTML Dateien.
Ich nehme an, dass der Parser dann nicht richtig parst.

Lektüre
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“