Folgendes: Ich benutze für meine Umfragen ein CGI Script namens QPoll, man kann in einem Adminbereich die Umfragen erstellen und dann per SSI in beliebige Dateien einfügen.
Wieso wollen neuerdings alle per include() CGI-Anwendungen importieren? Ist das der neue Trend?
<!--#include virtual="cgi-bin/qpoll/qpoll31.pl?poll_id=6&action=replace"-->
Na, immerhin schonmal nicht exec :)
Mein Problem: Ich will nun kein SSI verwenden, sondern das ganze mit PHP machen, weil ich nunmal *.php Endungen einheitlich benutze und SSI ja *.shtm oder *.shtml braucht.
Aktiviere in der .htaccess "options +multiviews", dann kannst Du die Endungen ganz weglassen. Die meisten Besucher interessiert es übrigens wenig bis garnicht, ob da nun .php, .html, .shtml oder .tralala hintendran hängt - man beschäftigt sich lieber mit der Seite ansich.
Ich dachte mir, das müsste doch mit dem PHP Befehl "include();" machbar sein.
include ("cgi-bin/qpoll/qpoll31.pl?poll_id=6&action=replace");
Aber es funzt nicht! Ich finde das komisch, es ist ja mehr oder weniger der gleiche Vorgang wie beim SSI...
Nein, PHP und SSI sind zwei grundverschiedene Dinge. PHP-include() hat deshalb nichts mit SSI-include-virtual zu tun.
Lies Dir die SSI-Anleitung nochmal genau durch, dort steht unter anderem, daß SSI eine eigene HTTP-Anfrage innerhalb des Servers stellt, um eine Datei einzufügen. Das bedeutet, daß diese einzufügende Datei exakt so "ausgeführt" wird, als wenn sie von außen per Browser abgerufen werden würde.
Der PHP-Befehl include() liest die Datei hingegen lediglich direkt ein, klebt also quasi aus mehreren Textdateien eine große zusammen, die dann vom PHP-Interpreter ausgeführt wird.
Mehr:
- http://forum.de.selfhtml.org/archiv/2002/10/25582/#m140057
- http://forum.de.selfhtml.org/?m=140262&t=25621
Gruß,
soenk.e