![]() |
Problem mit PHP include
Hallo,
ich habe meine Navigation in eine seperate HTML Datei ausgelagert, diese binde ich in jeder Site über php include ein. Das funktioniert auch, doch jetzt habe ich als Navigation eine CSS only Drop Down Variante gewählt. Diese funktioniert aber leider nicht mehr wenn ich sie einbinde. (Klappt nicht mehr auf) Es handelt sich um dieses Menu ![]() Danke schonmal! |
Re: Problem mit PHP include
*Kristallkugel reib*
*Nebel steigt auf* Ich sehe eine Zahl ... zwei Zahlen ... Zeile 38, Spalte 12. Dort ist der Fehler! *Puff ... Verschwind* |
Re: Problem mit PHP include
Oh, ja mehr Infos:
also ich binde es mit <? include('navigation.html'); ?> ein und die Navigation ist einfach nur die Datei die es auf der oben genannten Site zum download gibt. (nur so zum Testen) |
Re: Problem mit PHP include
Eine HTML Includen seit wann geht denn das.
|
Re: Problem mit PHP include
Ach so geht des garnicht? Liegts womöglich daran... Ich probier mal <? include('naviagtion.php'); ?> ...
Geht! Danke! :-D |
Re: Problem mit PHP include
Hi,
also bei mir gehts: ![]() ![]() Hab das Menü aber noch nicht angepasst. Du musst den Content in dem Container-div drin haben, sonst wird er verdeckt. Hier mein Testsource zum ansehen, ist natürlich noch nicht optimal: ![]() Mfg FAlter |
Re: Problem mit PHP include
Natürlich kannst Du eine HTML-Seite per include inkludieren. Nur was dann damit passiert, das ist natürlich die andere Sache :zwinker:
|
Re: Problem mit PHP include
AFAIR passiert nichts anderes, als dass die Include-Anweisung durch den Inhalt der einzubindenden Datei ersetzt wird.
|
Re: Problem mit PHP include
Richtig. Und da Du dann HTML in PHP inkludierst, motzt der Parser rum. Aber funktionieren tut es.
Du könntest höchstens in der HTML ein End- und Anfangszeichen schreiben, dann dürfte es auch klappen:
Code:
<?php
include('test.html'); ?> // Test.html: ?> <Some HTML Code> <?php |
Re: Problem mit PHP include
Ach, das hattest Du gemeint :)
|
Re: Problem mit PHP include
Naja, wenn Du die HTML richtig einlesen und per php ausgeben willst (also nicht inkludieren, dass der Parser sich verschluckt), bietet sie fopen, fread oder file_get_contents oder readfile etc. pp. an. Damit kannst Du die HTML-Datei in eine Variable einlesen und per Echo ausgeben.
Bei der normalen Inklude-Variante (ohne die PHP-Begrenzer in der HTML), bekommst Du einen Error und mit den Begrenzer hab ich es noch nicht getestet :P |
Re: Problem mit PHP include
Hi,
nein, ganz so ist es nicht. es wird nicht "einfach eingefügt". Es wird ungefähr wie ein eigenes PHP-Dokument interpretiert (afaik egal, welche Erweiterung es hat), nur dass schon gesetzte Variablen (bzw. deren Werte) und bereits bekannte Klassen / Funktionen usw. genutzt werden können. Es entspricht nicht 100%ig einem Delphi-{$I abc.inc}. Wenn die Inc PHP-Code hat, muss dieser sogar wieder in <?PHP ?> eingeschlossen werden, alles andere wird direkt als Ausgabe angesehen. Somit ist das Includen von reinem HTML möglich. (Nur, wenn ShortTags aktiviert sind, was leider meist der Fall ist, gibt es bei den header.php meist ein Problem mit dem <?xml ...?>, sodass das dann <?php echo('<?xml...?>') ?> geschrieben werden muss.) Mfg FAlter |
Re: Problem mit PHP include
Hi,
sehr schön. Mein Test-Dokument hatte die XML-Zeile drin und der Parser hat sich dran verschluckt, deswegen hatte ich die Fehlermeldung bekommen. Ohne die Zeile funktioniert es prima. |
Re: Problem mit PHP include
Hi,
daher wurde ja auch heiß darüber diskutiert, die ShortTags, also <? ?> statt <?php ?>, in PHP 6 abzuschaffen. Es ist einfach nicht besonders gut für XML-Ausgaben und daher auch nicht für XHTML geeignet. In d.c.l.p.misc sind fast die Fetzen geflogen :mrgreen: zwischen Befürwortern und Gegnern von ShortTags. Damals hab ich da noch mitgelesen, aber ich bin ja nur selten mit PHP unterwegs und daher war es doch nicht immer so interessant. Im übrigen wäre in diesem Kontext hier auch require interessant. Entspricht fast include, aber wenn die Datei mal nicht existiert, die includiert werden soll/benötigt wird... Mfg FAlter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz