Einbinden einer externen HTML-Datei in die aktuelle Seite
Adamantin
- php
1 EKKi0 ChrisB0 Deus Figendi
Ersteinmal ein herzliches Hallo an alle lieben Helfer und ein Sorry, sollte ich die Suche nicht erfolgreich genug eingesetzt haben, denn mein Problem konnte ich nicht finden.
Ich möchte mein Menü einfach auslagern und es per Script auf jeder Seite anzeigen lassen. SSI wäre dafür wohl ideal gewesen, da es nicht viel mehr als eines Kommentares bedarf, SSI scheint mein Server aber nicht zu unterstützen, da auch mit der Dateiendung shtml kein Erfolg zu sehen ist.
Die nächste Idee war php, was tatsächlich hervorragend funktioniert. Statt meines riesigen <div id="menu">...</div>
Tags hatte ich nun den einfachen Code: <?php include ("menu.html") ?>
. Aber das Problem war, dass dieses kleine Script nur ausgeführt wird, wenn die Dateiendung der Gesamtdatei ebenfalls .php lautet.
Das wollte ich jedoch vermeiden, da ich meine Seiten in HTML lassen möchte. Mein Webspace/-server unterstützt zwar php, doch Seitenaufbau und die Philosophie leiden unter der Endung php (vllt hat es ja auch noch mehr Nachteile, die ich nicht kenne)
Die letzte Möglichkeit war der Befehl <script>, doch auch hier komme ich nicht weiter. Sowohl type="javascript" also auch type="application/x-httpd-php" führen nicht dazu, dass ich innerhalb des Scripttags meinen php-include-Befehl schreiben kann. Auch das Einbinden mit script per src-Befehl funktioniert nicht, wie es auf diversen Seiten angegeben wird, also:
<script language="JavaScript" type="text/javascript" src="www.mywebsapce.de/include.php"
wobei diese php Datei dann den obigen include-Befehl enthalten sollte.
Sollte eine dieser Möglichkeiten funktionieren und ich mache etwas falsch? Oder geht mein Vorhaben nicht mit HTML? Muss eine Datei, um ein PHP-Script ausführen zu können, zwingend die Endung php haben oder mache ich hier etwas falsch beim versuch mit <script>? Danke für die Hilfe
Mahlzeit Adamantin,
Ich möchte mein Menü einfach auslagern und es per Script auf jeder Seite anzeigen lassen. SSI wäre dafür wohl ideal gewesen, da es nicht viel mehr als eines Kommentares bedarf, SSI scheint mein Server aber nicht zu unterstützen, da auch mit der Dateiendung shtml kein Erfolg zu sehen ist.
Welche Datei hat(te) die Dateiendung .shtml? Das muss natürlich die (äußere) Datei, die vom Webserver durchgearbeitet werden soll, sein. Die einzelnen Dateien, die dort eingebunden werden sollen, können dann von nahezu beliebigem Typ (z.B. wieder .html) sein.
Die nächste Idee war php, was tatsächlich hervorragend funktioniert. Statt meines riesigen
<div id="menu">...</div>
Tags hatte ich nun den einfachen Code:<?php include ("menu.html") ?>
. Aber das Problem war, dass dieses kleine Script nur ausgeführt wird, wenn die Dateiendung der Gesamtdatei ebenfalls .php lautet.
Natürlich. Ansonsten weiß Dein Webserver ja nicht, dass er diese Dateien seinem PHP-Interpreter zur Abarbeitung übergeben soll.
Das wollte ich jedoch vermeiden, da ich meine Seiten in HTML lassen möchte. Mein Webspace/-server unterstützt zwar php, doch Seitenaufbau und die Philosophie leiden unter der Endung php (vllt hat es ja auch noch mehr Nachteile, die ich nicht kenne)
Um eine Umbenennung (entweder .shtml oder .php) wirst Du nicht herumkommen - außer Du kannst Deinen Server dazu bringen (den Apache z.B. mit der AddHandler-Direktive), auch normale HTML-Dateien entweder als SSI- oder PHP-Dateien zu behandeln.
<script language="JavaScript" type="text/javascript" src="www.mywebsapce.de/include.php"
wobei diese php Datei dann den obigen include-Befehl enthalten sollte.
Wenn Du auf diese Weise eine Datei einbindest, darf sie nur Javascript-Code enthalten - sonst nichts ... informiere Dich dazu <http://de.selfhtml.org/html/transit/scripts.htm#definieren@title=in SELFHTML>.
Sollte eine dieser Möglichkeiten funktionieren und ich mache etwas falsch? Oder geht mein Vorhaben nicht mit HTML? Muss eine Datei, um ein PHP-Script ausführen zu können, zwingend die Endung php haben oder mache ich hier etwas falsch beim versuch mit <script>? Danke für die Hilfe
1: Ja.
2: Nein.
3a: Nicht zwingend (s.o.).
3b: Ja.
MfG,
EKKi
Danke an euch beide, das mit script habe ich mir schon gedacht, wie gesagt habe es ja auch mit application/x-httpd-php versucht und nicht nur mit java, und ich dachte, wenn ich per type=application/x-httpd-php auf eine include.php verlinke, die ja richtig funktioniert, würde er diese per src einbinden, aber das war wohl falsch gedacht :)
Jedenfalls Danke und ich schaue mal, ob ich mit meinem Webspace bzw durch den Kundenservice so etwas einstellen kann :)
Hi,
Die nächste Idee war php, was tatsächlich hervorragend funktioniert. Statt meines riesigen
<div id="menu">...</div>
Tags hatte ich nun den einfachen Code:<?php include ("menu.html") ?>
. Aber das Problem war, dass dieses kleine Script nur ausgeführt wird, wenn die Dateiendung der Gesamtdatei ebenfalls .php lautet.
Das kann man ggf. aendern.
Die letzte Möglichkeit war der Befehl <script>, doch auch hier komme ich nicht weiter. Sowohl type="javascript" also auch type="application/x-httpd-php" führen nicht dazu, dass ich innerhalb des Scripttags meinen php-include-Befehl schreiben kann.
Das sind ja zunaechst mal zwei ganz verschiedene Sachen.
Aber auch wenn du da PHP hinschreibst, nuetzt dir das immer noch nicht, wenn die Seite nicht durch den PHP-Parser geschickt wird.
Auch das Einbinden mit script per src-Befehl funktioniert nicht, wie es auf diversen Seiten angegeben wird, also:
<script language="JavaScript" type="text/javascript" src="www.mywebsapce.de/include.php"
wobei diese php Datei dann den obigen include-Befehl enthalten sollte.
Kann ja auch nicht - weil der Browser dann selbstverstaendlich JavaScript-Code in der Ressource include.php erwartet.
Muss eine Datei, um ein PHP-Script ausführen zu können, zwingend die Endung php haben
Nein, muss sie nicht.
Wenn dein Provider dir Moeglichkeiten laesst, dass zu konfigurieren, kannst du auch Seiten mit der Endung .htm(l) als PHP parsen lassen.
MfG ChrisB
'nAbend
Sollte eine dieser Möglichkeiten funktionieren und ich mache etwas falsch? Oder geht mein Vorhaben nicht mit HTML? Muss eine Datei, um ein PHP-Script ausführen zu können, zwingend die Endung php haben oder mache ich hier etwas falsch beim versuch mit <script>? Danke für die Hilfe
Also ich halte es nicht für sinnvoll, aber auch JavaScript kann dein Menü erzeugen, dann hättest du sowas wie "CSI" ;-) (also Klientenseitige Inkludierung)