Tipps Web Programmierung (Server side-include mit SSI / PHP)

Auf dieser Seite wird Text einer anderen Seite eingebunden.
Es wird direkt Serverseitig geladen. Achtung: Nur wenn der Host es unterstützt
Nachfolgender Code wird in die Seite eingetragen:

<!--#set var="PHPtest" value="<?php echo 1;?>" -->
<!--#if expr=' "v(PHPtest) != 1" '--> <!--apache 2.4-->
<!--#if expr="${PHPtest} != 1" --> <!--apache 2.2-->
<?php $Incl='Pfad/*.shtml'; if(file_exists($Incl)) {include $Incl;}else{echo "LadeFehler: ".$Incl;} ?>
<!--#else-->
<!--#config errmsg="SSI ladefehler: *.shtml " -->:
<!--#include virtual="/*.shtml" -->
<!--#endif -->

Wenn der Server PHP oder SSI(server side include) unterstützt
Es werden beide Varianten geprüft bzw. ausgeführt.
Es sieht sehr kompliziert aus. Ich habe Tage gebraucht bis es Sauber war.
Wenn es nicht funktioniert kann es sein, das der Server dies nicht unterstütz. (Nicht verzweifeln Lösung siehe unten.)
Was läuft ab:

Vorteil: Ich kann mit CSS meiner aktuellen Seite alle Einstellungen vornehmen.
Wenn die Tag's ID's besitzen kann ich sogar neu Ordnen. Nachfolgende, eigene Tag's, schmiegen sich den geladenen Daten an.

Hier der geladene Text und/oder HTML-code.

Und hier geht es weiter mit Tag's meiner eigenen Seite.
Inhalt des Includes:



Der Server mag mich nicht!

Wenn es nicht funktioniert

Eine Datei 'php_ino.php' mit dem Inhalt:
<?php
phpinfo();
?>

erzeugen und auf den Server übertragen. Kommt beim Aufruf eine Liste mit PHP-Beschreibungen, wird PHP unterstützt.
Dann liegt es daran, das der Server kein, in die Seite eingebettetes PHP, unterstützt. (nicht weinen! Die Hoffung stirbt zu letzt!)
Wenn auf dem Server ein Apache-Server läuft sollte man eine '.htaccess' mit folgendem Inhalt:

AddType text/html .shtml
AddHandler server-parsed .shtml
DirectoryIndex index.shtml index.html index.htm index.php
Options Includes ExecCGI
AddOutputFilter INCLUDES .shtml .html .htm .php
AddType application/x-httpd-php php php4 php3 html htm

erzeugen. Diese in das Hauptverzeichnis des Servers übertragen. Windows wehrt sich gegen solche Namen.
Ich habe die Datei mit meinen FTP-Programm umbenannt. (Das geht eigenartigerweise mit FileZilla)
Nachdem ich das gemacht habe ging alles Super.


Hauptteil anzeigen