Fabian: Parameter per Get an Main-Frame übergeben für php klappt nicht

Hallo Forumaner-Gemeinde,

jetzt habe ich doch noch einmal eine Frage zu Frames und PHP.

Ich habe eine Seite in welcher der User einen Button anklicken soll.

Anhand dieser Auswahl wird auf der Folgeseite in einem Frameset eine bestimmte Seite per include aufgerufen.

Das sollte doch eigentlich nicht so schwer sein, funktioniert aber irgendwie nicht.

Auf der Auswahlseite habe ich ein Formular definiert.
<form name="form1" method="get" action="frame_set.php" target="main">
<input type="radio" name="auswahl" value="1">
<input type="radio" name="auswahl" value="2">
</form>

Auf der Frameset-Seite im Frame main möchte ich die Variable dann benutzen:
<?php
if ($auswahl==1){include("seite1.php");}
?>

-in der URL erscheint zwar"?auswahl=1" der Parameter läßt sich jedoch nicht nur in der Frameset Datei auslesen und nicht im Main Frame.

-es wird durch die target Angaben auch ein neues Fenster geöffnet, was er eigentlich nicht machen sollte.

Habe ich es hier mit einem Laufzeitproblem zu tun?

Für Anregungen jeglicher Art wäre ich sehr dankbar.

Viele Grüße aus Braunschweig

Fabian

  1. hi fabian,

    versuch doch mal das formular nicht an das frameset zu schicken, sondern direkt an die datei, für die es gedacht ist, die sich also im main frame befindet. dann kannst du auch das target im form-tag weglassen.

    <form name="form1" method="get" action="Zieldatei">

    Ilja

    1. Hi Ilja,

      danke für deine Anwort,

      wenn ich die Zieldatei direkt aufrufe, funktioniert das include, aber es wird halt nur die aufgerufene Datei angezeigt. Das Frameset mit dem Topframe wird dann nicht mehr angezeigt.

      Grüße Fabian

  2. hi,

    Auf der Frameset-Seite im Frame main möchte ich die Variable dann benutzen:

    der Query-String steht Dir nur dort zur Verfuegung, wohin die action zielt, resp. der Request geht: frame_set.php. Diese Datei wird dann in Dein per target vorgegebenes Zielfenster geladen.

    Wenn Du diese Variable woanders ebenfalls benoetigst musst Du sie per get/post/input type=hidden/cookie weitertransportieren.

    -es wird durch die target Angaben auch ein neues Fenster geöffnet,

    dann stimmt target nicht mit framename überein, oder Du hast versehentlich eine JS-Variable "Name" genannt - was den Namen des betreffenden Frames veraendert.

    Gruss  Joachim

    1. Hallo Joachim,

      danke für deine Antwort!

      Du hast mich auf eine Idee gebracht, wenn die Variable wirklich nur im Frameset zur Verfügung seht, dann kann ich sie doch, beim aufrufen der Frames, einfach an die URL anhängen:

      <frame name="main" src="main_frame.php?wert=<?php echo $wert?>">

      Das hat auch funktioniert!!!

      Grüße und besten Dank

      Fabian

      1. hi,

        wenn die Variable wirklich nur im Frameset zur Verfügung seht, dann kann ich sie doch, beim aufrufen der Frames, einfach an die URL anhängen:

        eben - das waere die Get-Methode. Teste auch mal $QUERY_STRING.

        Gruss  Joachim