• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

einbinden von externen html-Dateien

RAFA

Neues Mitglied
Ich habe ein Menü gebastelt, extra auf einer Site "menu.htm". Nun möchte ich auf allen meinen Unterseiten (um die 500 Stück) dieses Menü einbinden. Natürlich soll das nur eine Verknüpfung werden, denn wenn ein neuer Menüpunkt dazu kommt, möchte ich diesen nur 1 x ändern müssen und nicht 500 x auf jeder einzelnen Untersite.

Nun hab ich schon mit "object" und frames und iframes rumgepfriemelt, aber das haut nicht hin, weil mein Menü sich ja aufblättert und dann über den Frame- oder Objekt-Rand drüber gehen müsste, aber von diesem abgeschnitten wird.

Wie macht man so etwas, dass man Elemente in einer externen Datei erfasst und sie dann in anderen Sites einbindet/einbettet als wären sie ein Teil dieser Site? Hilfe!
 
Werbung:
Das macht man mit PHP. Füge an der Stelle, wo das Menü sein soll ein
PHP:
<?php include('menu.htm'); ?>
hinzu.
 
Ich hab noch nie was mit PHP gemacht. In meiner Untersite einfach den Tag da oben reinschreiben, klappt leider nicht. Muss ich in die menu.htm-Datei noch irgendwelche PHP-Verweise einfügen oder muss ich in der Untersite im Head verweisen, dass ein PHP-Tag kommt? Ich kann doch nicht einfach mitten in eine HTML-Site einen php-Tag reinschreiben und erwarten, dass das interpretiert wird? :-?
 
Werbung:
Doch kannst du, solange du auf einem Server arbeitest, auf dem PHP installiert ist. Benutzt du einen Webspace oder arbeitest du lokal? Wenn du lokal arbeitest, arbeitest du nur mit den HTML-Dateien und deinem Firefox oder benutzt du ein Programm zum initialisieren eines Servers auf deinem Computer?
 
Falsch, PHP ist es auf gut Deutsch 'scheiß egal', ob .php, .htm oder .html...

[EDIT]

Gut, sorry, mein Fehler: Du musst dem PHP Parser sagen, dass er sich auch um .htm bzw. .html Dateien kümmern soll (bei mir immer Standard gewesen). Ich würde mich auf eins beschränken, z.B. .htm als gemischte Dateien und .html als pure HTML-Dateien zu definieren.

Damit der Parser die gewünschten Dateien durchläuft, schreibe eine .htaccess-Datei in dein root-Verzeichniss mit folgendem Inhalt:

Code:
AddType application/x-httpd-php .htm

oder für .html-Dateien eben mit .html statt .htm
 
Zuletzt bearbeitet:
Werbung:
Okay. Wieder etwas gelernt. Aber ist halt bei mir nicht Standard und wollte nur darauf hinweisen :)
 
klappt nicht :-(

Also ich hab eine Datei gemacht, die .htaccess heißt (ohne Suffix), ich habe deinen String da oben kopiert und dort eingefügt, abgespeichert in das Verzeichnis, worin auch meine ganzen *.htm-Datein liegen, fertig (erst mal lokal auf meinem Rechner). Ich habe in meiner Site 10.htm an die Stelle, wo ich das Menü haben will, den String ganz oben reinkopiert, und es passiert ... nix :-(.

Ich habe alles (10.htm und .htaccess) upgeloadet und habe es online probiert. Wenn ich nun aber die Seite durch einen Link aufrufen will, bekomme ich die Meldung "Dateien dieses Typs können Schäden an Ihrem Computer verursachen. Möchten Sie die Datei 10.htm wirklich herunterladen?" Nö! Ich will sie doch nur aufrufen! Aber trotzdem: Ich haben "Speichern" geklickt und passiert ist ... nix :-(.

Nee, also irgendwie klappt das nicht?
 
Kam die Meldung schon vorher? Hast du das Menü auch hochgeladen? Stimmt der Pfad? Ist überhaupt PHP installiert?
 
Werbung:
Ähm... ich weiß nicht :oops:?

Wie sieht es denn aus, wenn php installiert ist, woran erkenne ich das? Wie installiere ich es denn? Bin ich (=php-DAU) jetzt gedanklich auf dem richtigen Trip, wenn ich mir ein Programm vorstelle, das ich kaufen oder downloaden kann und dann mit einem Setup auf der Festplatte installiere? ...oder ist was ganz anderes gemeint?

Da ich normalerweise php-Sites im Netz problemlos ansehen kann, dachte ich, damit hätt sich's schon. Öh... :oops:

P.S.: Nein, derartige Meldungen hatte ich noch nie. Das Menü hab ich auch hochgeladen. Der Pfad stimmt, weil alles in 1 Verzeichnis liegt.
 
Hallo.

Erstelle eine php Datei mit folgenden Inhalt:
PHP:
 <?php phpinfo(); ?>

Speichere es z. B. als info.php und lade es auf deinen Server hoch.
Dann rufe die datei im Browser auf und du siehst ob du php auf dem Server hast oder nicht.

Selbst kannst du das nicht installieren.
Du musst falls nicht vorhanden wahrscheinlich ein anderes Webhosting Paket nehmen.

Kannst du überhaupt eigene .htaccess erstellen oder wird das von deinem Webhoster unterbunden?

Dann noch eine Frage an Timmer.
Welche Vorteile bringt es ihm die Dateien in .htm umzubenennen und dann die .htaccess zu modifizieren anstatt die Dateien einfach in .php umzubennen?

Bennene deine Dateien einfach mal in .php um und schau ob es dann geht.

Gruss
Elroy
 
Keinen, aber ich bins gewohnt, dass mein PHP-Parser auch .htm und .html Dateien parst. Ich wollte nur zeigen, wie er das aktivieren kann, wenn es nicht aktiviert ist ^^

Natürlich kannst du es auch einfach in .php ändern, dann brauchst du die .htaccess nicht...
 
Werbung:
> ren anstatt die Dateien einfach in .php umzubennen?

Das hat schon allein den Vorteil, dass auf meine Datein x-mal verlinkt ist. Ich müsste nicht nur alle Links ändern, sondern auch sämtliche Einträge in Suchmaschinen, Linklisten, usw. Ein Ding der Unmöglichkeit!

Meine Seiten liegen auf 1&1 und wenn ich die info.php aufrufe, bekomme ich eine Seite bez. PHP Version 4.4.9. Es scheint also installiert zu sein.

> Kannst du überhaupt eigene .htaccess erstellen oder wird das von deinem Webhoster unterbunden?

Äh... ich hab halt mit dem Editor einfach eine solche Datei abgespeichert und sie upgeloaded. Gemeckert hat dabei nichts... Wie gesagt: Ich habe keinerlei Ahnung von php und noch nie etwas damit gemacht, bin der absolute DAU.

P.S.: eine html-Lösung für mein Menü-Baustein-Verknüpfungs-Problem gibts wohl nicht?
 
Hallo.

HTML ist für die semantsche Auszeichnung deines Inhaltes da.
Das dürfte deine Frage nach einer HTML Lösung beantworten.

Die .htaccess hat nichts mit php zu tun.
Da ich keinen Account bei 1&1 habe kann ich auch nicht sagen ob die eigene .htaccess erlauben oder nicht.
Hast du die Datei auch als .htaccess abgespeichert, also als Dateiendung .htaccess viele Editioren speichern sowas gerne als htaccess.txt ab.

Ich dachte du benennst jetzt alle HTML Dateien in htm um antsatt in php.

Gruss
Elroy
 
deine Seite , in der du dein Menue includen willst musst .php sein. Bsp: deine Index.php , dann im Body Bereich wo du es haben willst
PHP:
<body><?php include('menue.htm') ; ?> </body>
( Die Seiten müssen im gleichen Verzeichnis liegen, ansonsten ahlt auf das Verzeichniss hinweisen )
 
Werbung:
> HTML ist für die semantsche Auszeichnung deines Inhaltes da.
> Das dürfte deine Frage nach einer HTML Lösung beantworten.

Äh, eigentlich nein, weil mir das jetzt nichts sagt. Ist die Einbettung einer externen Datei KEINE semantische Angelegenheit?

Ja, ich habe die .htaccess ohne Extension angelegt, nicht mit *.txt, hab ich extra drauf geachtet.

Blöderweise möchte ich auf JEDER Site das Menü einbinden, sonst ist die Einbindung ja sinnfrei.

Meine Dateien sind alles *.htm-Dateien. Ich KANN meine Dateien nicht umbenennen! Meine Homepage ist seit über 10 Jahren im Netz und es sind unzählige Links auf meine Sites verlinkt. Die würde ich ja dann alle verlieren. Da bin ich bestimmt nicht die erste, die dieses Problem hat und dafür muss es doch eine Lösung geben?
 
Äh, eigentlich nein, weil mir das jetzt nichts sagt. Ist die Einbettung einer externen Datei KEINE semantische Angelegenheit?

Nein, definitiv nicht. Was Du wie einbindest ist für Besucher, Menschen wie Maschinen, völlig egal. Die für diese Besucher angezeigten Inhalte müssen eine Bedeutung haben, die semantische Auszeichnung. Woher diese technisch kommen ist aber total egal.

Blöderweise möchte ich auf JEDER Site das Menü einbinden, sonst ist die Einbindung ja sinnfrei.

Dann musst Du die Antwort von NE4Y beachten, denn das ist die Antwort die Du suchst.

Meine Dateien sind alles *.htm-Dateien. Ich KANN meine Dateien nicht umbenennen!

Musst Du auch nicht. Es gibt die Möglichkeit dem php-Parser des Servers zu sagen, dass er auch .html-Dateien interpretieren soll. Diese Einstellung kann man entweder in der Serverkonfiguration selbst oder (wenn Du nur einen einfachen Webspace hast) in der .htaccess-Datei vornehmen. Das sieht dann z.B. so aus:
Make PHP to work in your HTML files with .htacess
 
*seufz* ich krieg es nicht hin! :-(

Ich hab nochmal die gestern upgeloadete info.php auf meinem Webspace aufgerufen, um zu sehen, welchen Server ich hab. Weil ich mich damit nicht auskenn, hab ich einfach mal die daraufhin angezeigte Seite durchsucht nach "apache" und siehe da: unten in einer Spalte hieß es irgendwo "SERVER_SOFTWARE Apache". Also nehm ich an, ich habe wohl Apache und hoff mal, dass für mich dieses da gilt:

"For web servers using PHP as apache module:

AddType application/x-httpd-php .html .htm"

Also hab ich eine .htaccess-Datei gemacht, d.h. den Texteditor aufgemacht, "AddType application/x-httpd-php .html .htm" in die leere Seite kopiert - ohne was dazu (kein Body, kein Begin or End, nix, einfach nur diesen String), hab es abgespeichert als .htaccess und es upgeloadet.

Dann hab ich eine Testseite gemacht, upgeloadet ... und es zeigt kein Menü :-(

Bitte guckts euch doch mal kurz an und sagt mir, was ich falsch mach! :-(

(Sorry, dass ich nerv)
 
Werbung:
Huaa! Ich hab die access-Datei jetzt gleich wieder gelöscht, weil wie beim ersten Mal kommt nun auch diesmal nur noch die Meldung, dass die Dateien den PC zerstören können und keine meiner Sites wird noch angezeigt! :O
 
Diese Meldung sagt mir nicht und kommt wohl von irgendeiner bei dir installierten Software - ist aber wenn Du die htaccess-Datei wirklich so erstellst hast nicht erklärbar.
 
Zurück
Oben