Seite 1 von 2

include wird in html Seite nicht angezeigt

Verfasst: 08.11.2005 16:27
von dora
Hallo zusammen,

Ein Experiment:

Ich möchte einzelne Textbereiche (Absätze) in Seite laden. Ich lerne gerade PHP, bin da also noch in den Anfängen.

Was ich noch nicht verstehe, habe da auch im Web rumgesucht aber keine Antworten gefunden.

Kann ich Includes nur in einer PHP Datei laden oder geht es auch in einer HTML Seite?

Wenn ich den unteren Code über einer HTML Seite ansehe, werden die Textinhalte nicht geladen aber in einer PHP Seite, funktioniert alles bestens.


.............................

Code: Alles auswählen



<div id="content">
<h1>1. Include</h1>

 <?php include "includes/start.inc"; echo $absatz_1; ?>



<h2>2. Include</h2>
 <?php include "includes/start.inc"; echo $absatz_2; ?>

<h3>3. Include</h3>

 <?php include "includes/start.inc"; echo $absatz_3; ?>

 <h3>4. Include</h3>
<?php include "includes/start.inc"; echo $absatz_4; ?>
</div>




..........................


mo

Verfasst: 08.11.2005 16:56
von Martin Truckenbrodt
Hallo,
benenne die Datei mal in .php um.

Gruß Martin

Verfasst: 08.11.2005 17:15
von dora
Hi Martin,

ich weiß jetzt nicht genau wie du das meinst. Aber vielleicht so.

Wie ich schon geschrieben hatte. Im Test habe ich die Datei, in der die Textabsätze über include geladen werden sollen, einmal als test.php und einmal als test.htm abgespeichert.
Wenn ich die test.php ansehe, funktioniert alles bestens, nur die test.htm macht Probleme.

Zusatzinfo: Ich teste alles über den XAMPP-Server und nicht über meinen Internet-Server, kann das zu Problemen führen?

(grübel)

mo

Verfasst: 08.11.2005 20:26
von Martin Truckenbrodt
Hallo,
Du hast das Problem erkannt.

Wenn HTML Dateien PHP machen sollen, mußt Du dies entweder in PHP oder/und in der Apache Konfiguration für die Dateiendung .htm oder .html so einstellen. IMO ist dies nicht die Defaulteinstellung.

Gruß Martin

Verfasst: 09.11.2005 07:59
von chriss713
Wenn die Datei die Endung htm/html hat, wird sie vom Webserver (in der Standard-Einstellung) nicht geparst. D.h. der Webserver weiß ja gar nicht, dass er die HTML-Datei wie ne PHP-Datei behandeln soll! (Woher auch?)
Deshalb werden ja die verschiedenen Dateiendungen benutzt, um die Dateien funktional unterscheiden zu können!

jetzt mit .htaccess geloest

Verfasst: 09.11.2005 09:50
von dora
Danke für eure Hinweise,

eine der Loesungen könnte .htaccess sein?! Sie wird im Rootverzeichnis gestellt.

Code: Alles auswählen


Options +FollowSymlinks
RewriteEngine on
RewriteBase /

AddType application/x-httpd-php .php .php3 .php4 .html .htm .xhtml

Auf jedenfall funktioniert es jetzt auch mit einer HTML-Seite

mo

Verfasst: 09.11.2005 10:00
von chriss713
Du verwendest nen Apache als Webserver? Dann kannst Du dem auch in der httpd.conf zu fressen geben, dass er Dateien mit der Endung .htm/.html durch den PHP-Parser jagen soll.

Verfasst: 09.11.2005 11:47
von tallman
Genau und in der httpd.conf musst du dann nach "DirectoryIndex" suchen, dahinter index.html oder index.htm anfügen, dann gehts... ;)

Verfasst: 09.11.2005 11:54
von chriss713
tallman hat geschrieben:Genau und in der httpd.conf musst du dann nach "DirectoryIndex" suchen, dahinter index.html oder index.htm anfügen, dann gehts... ;)
Wenn Du Dir die Apache-Doku zu der Direktive Directory-Index anschaust (http://httpd.apache.org/docs/2.0/mod/mo ... ctoryindex), wirst Du feststellen, dass das nicht stimmt!

Wenn ich das auf die schnelle finde, poste ich gleich noch die entsprechende Direktive die ich meine... ;)

[edit:] In der PHP-FAQ gibts mehr zum Thema: Apache: Kann ich PHP auch auf .html-Dateien anwenden?

Verfasst: 09.11.2005 12:54
von dora
Hi

vielen Dank an alle, die Links waren gut, habe es kurz mal überflogen
und mich entschieden mit .htaccess zu arbeiten, da mein Provider,
dies auch unterstützt.

Der letzte Link war klasse, hatte nach einer Dokumentation zu diesem Thema die ganze Zeit gesucht.

Grüße
mo
;-)