Harald: CGI-Suchergebnisse in Frameset

Folgendes Problem: Ich bastler gerade eine Hompage mit einem kleinen datenbankbasierten Shop. dafür habe ich zwei verschiedene Navigationsseiten angelegt - eine für die ganze Seite (oben), und eine für den Shop (links). Nun würde ich gerne das Frameset für den Shop aufrufen, wenn ich eine cgi-abfrage starte (z.B. von der oberen Navi Leiste, oder, um die Besucher von anderen Info-Seiten, auf der Artikel beschrieben werden, zum Shop zu führen). Wie schaffe ich es, dass ich das CGI-Ergebnis in einem Frame (rechts) des zweiteiligen Shop-Framesets aufrufe?
Harald

  1. Folgendes Problem: Ich bastler gerade eine Hompage mit einem kleinen datenbankbasierten Shop. dafür habe ich zwei verschiedene Navigationsseiten angelegt - eine für die ganze Seite (oben), und eine für den Shop (links). Nun würde ich gerne das Frameset für den Shop aufrufen, wenn ich eine cgi-abfrage starte (z.B. von der oberen Navi Leiste, oder, um die Besucher von anderen Info-Seiten, auf der Artikel beschrieben werden, zum Shop zu führen). Wie schaffe ich es, dass ich das CGI-Ergebnis in einem Frame (rechts) des zweiteiligen Shop-Framesets aufrufe?

    1. Selfhtml lesen.
    2. Ausprobieren.
    3. Verzweifelt sein
    4. Erst dann: Fragen :)

    Die Antwort waere :
      <form target="FENSTERNAME" action="xxxx" method="zzzz">

    Ciao,
     Wolfgang

    1. Folgendes Problem: Ich bastler gerade eine Hompage mit einem kleinen datenbankbasierten Shop. dafür habe ich zwei verschiedene Navigationsseiten angelegt - eine für die ganze Seite (oben), und eine für den Shop (links). Nun würde ich gerne das Frameset für den Shop aufrufen, wenn ich eine cgi-abfrage starte (z.B. von der oberen Navi Leiste, oder, um die Besucher von anderen Info-Seiten, auf der Artikel beschrieben werden, zum Shop zu führen). Wie schaffe ich es, dass ich das CGI-Ergebnis in einem Frame (rechts) des zweiteiligen Shop-Framesets aufrufe?

      1. Selfhtml lesen.
      2. Ausprobieren.
      3. Verzweifelt sein
      4. Erst dann: Fragen :)

      Die Antwort waere :
        <form target="FENSTERNAME" action="xxxx" method="zzzz">

      Ciao,
      Wolfgang

      Wenn's so einfach wäre (vielleicht habe ich die Frage falsch formuliert, es ist eben auch ein bisschen komplizierter): es geht nicht darum, die Suchergebnisse einfach in einem anderen Frame darzustellen, sondern z.B. mit dem Abschicken der Suche ein zweites Frameset aufzurufen. Erst gibt's nur zwei Frames, wenn gesucht wird, soll sich der untere Frame in zwei Frames aufteilen. Und 1-3 habe ich schon hinter mir (v.a. 3). Danke, Harald

      1. Hi,

        »»sondern z.B. mit dem Abschicken der Suche ein zweites Frameset
        »»aufzurufen. Erst gibt's nur zwei Frames, wenn gesucht wird, soll
        »»sich der untere Frame in zwei Frames aufteilen. Und 1-3 habe ich
        »»schon hinter mir (v.a. 3). Danke, Harald

        Ah! Jetzt wird das Problem schon interessanter!

        Nun, mach es doch so, dass dein CGI-Skript ein Vor-CGI-Skript
        bekommt, welches zuerst aufgerufen wird und welches nichts
        weiter macht, als ein Frameset zu definieren und in diesem
        Frameseit einem zweiten Skript die eigentlichen Suchparameter
        uebergibt.

        Im prinzip wuerde dieses Vorskript also nur so aussehen:
        (UNGETESTET!)

        #!perl
        my $SUCHSKRIPT = "http://DOMAIN/cgi-bin/suche.pl";

        print "Content-Type: text/html\n\n";
        print
         <HTML>\n
         <FRAMESET border=0 frameborder=0 framespacing=0>
           <frame marginheight=2 name="bla" src="$SUCHSKRIPT?$ENV{'QUERY_STRING'}" scrolling=no noresize >\n
           <frame marginheight=2 name="blub" src="irgendwasstatisches.html" scrolling=auto noresize >\n
         </FRAMESET>
        </HTML>\n
        \n";

        exit;

        Ciao,
         Wolfgang

      2. Hallo Harald

        [...] sondern z.B. mit dem Abschicken der Suche ein zweites Frameset
        aufzurufen. Erst gibt's nur zwei Frames, wenn gesucht wird, soll sich
        der untere Frame in zwei Frames aufteilen.

        Ist vielleicht ein bischen um die Ecke gedacht, was anderes fällt mir aber im Moment nicht ein. Könnte vielleicht 2-stufig gelöst werden. Beim Aufruf des Scripts gibst Du mit Target den Frame an, der geteilt werden soll. Dein Script gibt eine HTML-Datei aus, die ein neues Frameset enthält:

        <frameset rows="20%,80%">
           <frame src="xyz.htm" name="ein_Fenster">
           <frame src="http:\domain.de\dein_such_script.pl?parameter1=bla&parameter2=blu" name="Ergebnis_Fenster">
        </frameset>

        Ein Frame enthält als Source den Aufruf des Suchscripts mit allen Parametern. Ob Du nun 2 Scripts nimmst oder in einem Script die Funktionen "Frame erzeugen" und "Suche" mittels weiterem Parameter steuerst, ist Geschmackssache.

        Gruß Frank

        1. Nochmal ich

          Ist vielleicht ein bischen um die Ecke gedacht,

          Scheinbar doch nicht, wenn ich mir Wolfgangs Posting ansehe ;-)

          Gruß Frank

  2. Folgendes Problem: Ich bastler gerade eine Hompage mit einem kleinen datenbankbasierten Shop. dafür habe ich zwei verschiedene Navigationsseiten angelegt - eine für die ganze Seite (oben), und eine für den Shop (links). Nun würde ich gerne das Frameset für den Shop aufrufen, wenn ich eine cgi-abfrage starte (z.B. von der oberen Navi Leiste, oder, um die Besucher von anderen Info-Seiten, auf der Artikel beschrieben werden, zum Shop zu führen). Wie schaffe ich es, dass ich das CGI-Ergebnis in einem Frame (rechts) des zweiteiligen Shop-Framesets aufrufe?
    Harald

    Vielen Dank euch beiden, klappt super.