SSI+Perl
Norbert
- cgi
Tach auch!
Ich möchte eine Perl-Suchmaschine samt Ausgabe der Suchergebnisse in ein SHTML-File stecken. Das Suchformular ist im Perl-Files definiert und wurde per "include" in die Ausgangsseite integriert. Alles schön und gut. Aber wie kriege ich die Suchmaschine dazu, Ihre Suchergebnisse wieder an ein SHTML-File abzuliefern?
Ums gleich vorweg zu nehmen: Ich bin blutiger Anfänger und möchte Euch bitten, möglichst ausführlich und KONKRET zu antworten. Ich versteh hier im Forum nämlich nicht mal die Hälfte...
Vielen Dank!
Norbert
Hallo,
ich habe diese Frage irgendwie nicht ganz geblickt, aber wenn du es einmal geschafft hast einen SSI zu includen, warum schaffst du es nicht zum 2. mal? Geht immer gleich.
Ausserdem empfehle ich dir diesbezueglich mal den CGI/Perl Teil von Selfhtml zu studieren und die einfach mal die SSI Syntax anzugucken, dann kommt man naemlich von ganz alleine drauf.
Falls es irgendwo hakt, kannst du ja gerne nochmal fragen.
Gruss
Cruz
Hi!
Hallo,
ich habe diese Frage irgendwie nicht ganz geblickt, aber wenn du es einmal geschafft hast einen SSI zu includen, warum schaffst du es nicht zum 2. mal? Geht immer gleich.
Nee, geht eben nicht, weil der 2. Include theoretisch dann im Output eines Perlscripts stehen müßte. Bekanntlich muß ein File mit SSI-Content aber ein SHTL-File sein.
Das konkrete Problem ist folgendes:
Ich habe auf einer Seite per "include" einen Counter und eine Suchroutine untergebracht.
Wenn ich nun die Suchroutine starte, erzeugt die - logisch - eine dynamische Seite mit den Suchergebnissen. Und in dieser dynamisch erzeugte Seite möchte ich auch wieder den Counter "includen".
Ich hoffe, ich hab mich etwas verständlicher ausdrücken können!?
Ausserdem empfehle ich dir diesbezueglich mal den CGI/Perl Teil von Selfhtml zu studieren und die einfach mal die SSI Syntax anzugucken, dann kommt man naemlich von ganz alleine drauf.
Falls es irgendwo hakt, kannst du ja gerne nochmal fragen.Gruss
Cruz
Schon versucht. Beim besten Willen komm ich da nicht drauf... :-(
Bin für jede Hilfe dankbar!
Bye,
Norbert
Hallo Norbert,
Wenn man davon ausgeht, daß Du ein Template hast, in dem per ssi der Counter eingebunden ist, dann binde Dein Suchskript mit:
<!--#exec cgi="/cgi-bin/suche.cgi" -->
in Deine Seite ein.
Im aufrufenden Formular musst Du dann method="get" und als Action das SHTML-File angeben, in das die Suchmaschine eingebunden wurde:
<form action="suchergebnis.shtml" method="GET">
Das Suchskript erhält dann die Parameter, die an die SHTML-Datei übergeben wurden, in der entsprechenden Umgebungsvariable (zumindest sollte der Apache das so machen, und Omnihttpd macht es auch) :-)
Ich hoffe das hilft Dir weiter
Gruß AlexBausW
Hallo! :o)
Wenn man davon ausgeht, daß Du ein Template hast, in dem per ssi der Counter eingebunden ist, dann binde Dein Suchskript mit:
<!--#exec cgi="/cgi-bin/suche.cgi" -->
in Deine Seite ein.
Der Haken ist, daß das Such-Script eigene Templates verwendet. Das sind zwar SHTML-Files, die werden aber leider nicht interpretiert, sondern nur ausgelesen. Das Script schreibt einen Header (aus Header-Template), fügt die Suchmaske (bzw. späteter an gleicher Stelle die Suchergebnisse) ein und schreibt anschließend den Footer (Footer-Template). Naja, man könnte die Templates leer lassen...
»
Im aufrufenden Formular musst Du dann method="get" und als Action das SHTML-File angeben, in das die Suchmaschine eingebunden wurde:
<form action="suchergebnis.shtml" method="GET">
Im "aufrufenden" Formular? Also, im Ausgabeformular für die Suchergebnisse, oder wie? Das wird doch dynamisch erzeugt. Versteh ich nicht, ist mir alles zu hoch. Bin vielleicht doch zu blöd...
Das Suchskript erhält dann die Parameter, die an die SHTML-Datei übergeben wurden, in der entsprechenden Umgebungsvariable (zumindest sollte der Apache das so machen, und Omnihttpd macht es auch) :-)
»»
Ich peil das alles nicht... Diese scheiß Rumstrickerei ist nicht mein Ding.
:o(
Bye,
Norbert
Hallo Norbert,
[...] Naja, man könnte die Templates leer lassen...
Dann sind wir ja schon mal auf dem "richtigen" Weg ;-). Wie du ja erkannt hast, werden ssi-Anweisungen in den vom Skript ausgegebenen Templates nicht vom Server geparst, können deshalb auch nicht interpretiert werden.
Also müssen "wir" den umgekehrten Weg beschreiten, und das Skript in die Templates (*.shtml) einbinden, wie ich das oben schon beschrieben habe ;-)
[...]
<form action="suchergebnis.shtml" method="GET">
Im "aufrufenden" Formular? Also, im Ausgabeformular für die Suchergebnisse, oder wie? Das wird doch dynamisch erzeugt. Versteh ich nicht, ist mir alles zu hoch. Bin vielleicht doch zu blöd...
Na hoffentlich nicht ;-) Schau doch einfach mal in den Quelltext Deines Suchskriptes. Wenn es nicht gerade 'use CGI.pm;' verwendet, sollte irgendwo die Ausgabe von '<form...' stattfinden. Das kannst Du im Editor suchen.
In diesen Formtag schreibst Du als action entweder Die URI/URL zu Deiner Seite (z.B.: "/suche.shtml"), oder verwendest, um flexibler zu sein, die Umgebungsvariable $ENV{'DOCUMENT_URI'}, die Pfad und Dateinamen der SHTML-Datei enthalten sollte.
Method muss GET sein.
Ich peil das alles nicht... Diese scheiß Rumstrickerei ist nicht mein Ding.
Wenn Du Skripte dazu bewegen möchtest, so zu arbeiten, wie _Du_ das willst, dann wirst Du Dich auch mit der Materie ein wenig auseinandersetzen müssen ;-) Andernfalls solltest Du jemanden bemühen, der sich damit auskennt, und die Änderungen "vor Ort" vornehmen kann.
Gruß AlexBausW
Hi Alex!
ES LEBT! ES LEBT! Jetzt hab ich endlich gepeilt, wie's funtioniert. Hab mir das alles viel zu kompliziert vorgestellt. Ich war schon kurz davor, einfach eine andere Suchmaschine einzubauen. Damit wäre ich aber sicher nie so richtig zufrieden gewesen. Jetzt bin ich's... :o)
Ich werd Dich ins Nachgebet einschließen... sofern ich zum Schlafen kommme.
"Der Mann ist gut! Reicht ihm ein Bier!" :o)
Vielen Dank - auch für Deine Geduld!
Bye bye,
Norbert