Werner: 2 Frames dynamisch erzeugen

Hallo,
ich möchte ein Perl-skript schreiben, das abhängig von Benutzereingaben ein Frameset mit zwei Frames zurückliefert (1 Menü + 1 Hauptfenster). Dabei soll auch der Inhalt der beiden Frames dynamisch erzeugt werden ? Geht so was überhaupt ohne temporäre Dateien ?

Danke

  1. hi!

    ich möchte ein Perl-skript schreiben, das abhängig von
    Benutzereingaben ein Frameset mit zwei Frames zurückliefert (1
    Menü + 1 Hauptfenster). Dabei soll auch der Inhalt der beiden
    Frames dynamisch erzeugt werden ? Geht so was überhaupt ohne
    temporäre Dateien ?

    Ja, es geht. Ist allerdings ein bisschen umständlich, weil Perl
    eigentlich gar nicht weiß, was Frames überhaupt sind. Du musst dem
    Perl-Skript jeweils einen Parameter übergeben, der ihm sagt, welcher
    Teil des Framesets zu laden ist. Zb:

    skript.pl?load=menuframe
      Das Skript gibt den Quelltext des Menüframes zurück.

    skript.pl?load=mainframe
      Das Skriüt gibt den Quelltext des Hauptframes zurück.

    skript.pl?load=frameset
      Das Skript gibt das Frameset zurück, dabei lädt es im linken Frame
      skript.pl?load=menuframe und rechts skript.pl?load=mainframe.

    Im Skript musst du dann nur noch checken, welchen Wert der Parameter
    "load" hat und dementsprechend in verschiedene Teile des Programms
    verweisen.

    bye, Frank!

  2. Hallo,

    ich möchte ein Perl-skript schreiben, das abhängig von Benutzereingaben ein Frameset mit zwei Frames zurückliefert (1 Menü + 1 Hauptfenster). Dabei soll auch der Inhalt der beiden Frames dynamisch erzeugt werden ? Geht so was überhaupt ohne temporäre Dateien ?

    Jedes Frame ist ein eigenständiger Request an den Webserver. Der Server weiß nicht, daß die Seiten in Frames landen. Für ihn ist es das gleiche, als ob die zwei Seiten von unterschiedlichen System aufgerufen werden. So weit zu Frames.

    Deshalb ist es nicht möglich, die beinden frames mit einem Aufruf des Scripts zu befüllen, außer Du wählst den Umweg über Javascript, was ich persönlich aber nicht für sinnvoll halte.

    Du kannst also nur drei verschiedene Script-Aufrufe durchführen. Einer für das erzeugen von Frames, einer für das Menü und einer für die Hauptseite.

    Das können jetzt verschiedene Scripts sein, oder aber auch nur eines.

    Mit einem Script kannst Du das z.B. bewerkstelligen, indem Du 'Modes' einführst:

    <code>
    #!/usr/bin/perl -w
    use strict;
    use CGI;

    my($query) = new CGI;

    my($mode) = $query->param('MODE');

    $mode = 'FRAMES' unless $mode; # Frames werden angezeigt, wenn kein  
                                   # Mode angegeben wurde

    if($mode eq "FRAMES")
      {
      &ShowFrames($query);
      }
    elsif($mode eq "MENU")
      {
      &ShowMenu($query);
      }
    elsif($mode eq "MAIN")
      {
      &ShowMain($query);
      }
    else
      {
      &ExitWithError("Invalid Mode");
      }

    </code>

    Irgendwas in der Art funktioniert sicher, da hat jeder seine Vorlieben.

    Grüße
      Klaus