Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablen zwischen Frames übergeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablen zwischen Frames übergeben

    Hallo zusammen,
    ich bin PHP Anfänger und hab jetzt schon Stunden in eurem Forum gestöbert und nichts gefunden. Bitte seht es mir nach, falls doch irgendwo mein Problem schon behandelt wurde.

    Ich habe auf einer Seite mehrere Frames. In dem Frame links oben soll ausgewählt werden welche Inhalte der Seite angezeigt werden sollen. Um das Ganze etwas plastisch zu machen, hier ein Bsp.: Ich habe PHP Seiten im Hauptframe, die in Tabellenform Links zu allgemeine Informationen über Musikinstrumenten enthalten. Einige Links sind aber speziell nur für Querflöten oder Trompeten interessant. Möchte jetzt jemand nur die Informationen der Seite zu Querflöten sehen, kann er das oben links im Frame in einer Checkbox anklicken und mit einem Button submitten. Somit sollen dann in der PHP SEite im Hauptframe nur die Zeilen der Tabelle aufgebaut werden, die links zu Querflöten enthalten.

    Die Seite im Hauptframe mit den Tabellen wird durch eine Textdatei aufgebaut in der eine Spalte drin ist, die kennzeichnet ob es sich um Inhalte bzgl. Querflöten, Trompeten, Klarinetten .... handelt. Die Anzeige der Inhalte soll auch komibierbar sein.

    Ich hoffe es war bis hier hin verständlich. Bisher habe ich versucht es so zu lösen:

    Die Werte, die links oben ausgewählt wurden, wurden im Form submitted und somit als Variablen in PHP zur Verfügung gestellt. Jetzt wollte ich die Variablen in der PHP Seite aus dem Hauptframe einfach auslesen. Geht aber nicht, weil die beiden Frames anscheinend durch die zeitversetzte Ausführung der PHP Seiten zwei verschiedene Interpreter zugewiesen bekommen (???)

    Jetzt meine Frage: Wie komm ich in dem Hauptframe an die Werte aus dem Frame links oben ran? Geht das überhaupt? Hat jemand ne andere Idee wie man's umsetzen kann??

    VIELEN DANK schonmal für eure Hilfe!


  • #2
    Ich bin nicht ganz sicher, ob ich dich richtig verstanden habe. Aber so wie ich das sehe, kriegst du die Parameter nicht ins Hauptrogramm. Ich würde dort nur die Frames definieren und diese dann mit zwei unabhängigen Scripts verwalten. Hier einige Beispiel-Fragmente
    mainframe.html (geht natürlich auch mit PHP):
    Code:
    ...
      <frameset cols="25%,*" frameborder="1">
        <frame name="frame1" src="frame1.html">
        <frame name="frame2" src="frame2.php">
        <noframes>This page needs frames</noframes>
      </framset>
    ...
    frame1.html
    Code:
    ...
          <form action="frame2.php" method="post" target="frame2">
              <table border="0" cellspacing=10>
                  <tr><td><input type="radio" checked name="sel" value="1">Auswahl 1</tr>
                  <tr><td><input type="radio" name="sel" value="2">Auswahl 2</tr>
    ...
              <hr>
              <input type="submit" value="Suchen">
              <button type="button" onClick="javascript:history.back()">Zur&uuml;ck</button>
    ...
           </form>
    Wenn du mehrere auswählen können willst, nimm einfach Checkboxen statt Radiobuttons.
    frame2.php:
    Code:
          if (isset($_POST['sel']))
          {
              switch ($_POST['sel'])
              {
                  case 1:       #Aktion für 1. Selektierung     
                       break;
                  case 2:       # Aktion für 2. Selektierung       
                       break;
    ...
              }
          }
    Gruss
    L

    Kommentar


    • #3
      Hm... ich glaub das ist nicht des Rätsels lösen
      also das ganze sieht bereits so aus:

      Code:
      <frameset cols="264,*" frameborder="YES"> 
        <frameset rows="*,75%">
        <frame name="auswahl" scrolling="auto" target="hauptframe" src="auswahl.php">
          <frame name="menu" src="menu.html" target="hauptframe" scrolling="auto">
        </frameset>
        <frameset rows="5%,*" frameborder="NO"> 
          <frame name="header" target="Rechts unten" src="header.html" scrolling="no">
          <frame name="hauptframe" src="start.html" scrolling="auto">
        </frameset>
      in der auswahl.php sind die Checkboxes, die bei einem submit über den Button die Werte belegen. In dem Hauptframe wird bei entsprechendem Klick auf den link im Menu die Seite infos.php aufgerufen. Die Seite infos.php soll dann die Werte aus der auswahl.php verarbeiten. Und da liegt das Problem! Verständlicher??

      Kommentar


      • #4
        "Wer Frames hat, der hat auch Probleme":
        Zitat von Isis
        In dem Hauptframe wird bei entsprechendem Klick auf den link im Menu die Seite infos.php aufgerufen. Die Seite infos.php soll dann die Werte aus der auswahl.php verarbeiten. Und da liegt das Problem!
        Eben. Wenn der User im Frame auswahl.php rumklickert und den Request abschickt, erfährt nur auswahl.php davon, weil die anderen "Frame Scripte" a. nicht ausgeführt werden und b. nicht wissen können, welche Werte der Client an auswahl.php geschickt hat.

        Kommentar


        • #5
          Riiiischdiiisch! :wink:

          Kommentar

          Lädt...
          X