phlow: Formular mit PHP-Datei in einem JS-PopUp

hallo!!!

ich habe folgendes Problem:

ich will gerne einer PHP-Datei Inhalte aus einem Forumlar uebergeben. Soweit ja nicht schwer. Nur soll die PHP-Datei (mit den Ergebnissen aus dem Forumlar in einem JS-PopUp angezeigt werden.
Prkatisch formuliert: Man fuellt ein Forumlar aus, klickt auf "senden" und es tut sich ein PopUp-Femster auf mit dem Ergebnis der Formulareingaben.

Das Formular definiere ich so:

<form method="post" action="shop_zusammenfassung.php" target="shop">

Und den Submit-Button so:

<input type="submit" value="Senden" onClick="window.open('shop_zusammenfassung.php', 'shop','height=800, width=500'); return false;">

So wie es jetzt gerade laeuft, oeffnet sich zwar beim klicken auf den Button das PopUp-Fenster mit der PHP-Datei, aber die Variablen werden nicht uebergeben :(

Wer kann mir bitte helfen? Vielen lieben Dank euch!!!

LG,
Florian

  1. Hi.
    Das die Variablen nicht übergeben werden ist logisch, denn du rufst im Popup ja nur die Datei auf. Das Formular wird aber nicht abgeschickt, das funktioniert so auch nicht.
    Du müsstest die Variablen per GET an die URL bei window.open anhängen ... also so window.open('shop_zusammenfassung.php?var=1&var2=...' ...
    Das ist allerdings so erstmal nicht möglich, da die eingetragenen Werte des Formulars ja erst mit Javascript wieder ausgelesen werden müssten. Also wäre es sinnvoller im onClick eine js-Funktion aufzurufen, die den String mit URI und allen Variablen samt Werten zusammensetzt und dann window.open ausführt.

    Eine andere Idee wäre auf das Popup zu verzichten und dem Formular target="_blank" zu geben, dann erhälst du aber ein vollwertiges Browserfenster.

    Eine weitere Idee ist, dass du das Formular ganz normal mit POST wegschickst und die Daten in einer Session oder in ner DB auf dem Server speicherst. Wenn das Formular abgeschickt wurde lässt du durch die geladene Seite (an die das Formular geschickt wurde) das Popup aufploppen und lädst dort einfach eine andere Seite, die ihre Werte aus der Session bzw. der DB bezieht.

    Grob:
    wenn Formular nicht verschickt
    -> Formular anzeigen
    wenn Formular verschickt
    -> Daten auf Server speichern
    -> irgendwas anzeigen, meinetwegen wieder das leere Formular
    -> js starten, welches das Popup aufploppen lässt
    -> im Popup eine andere Datei laden, die die Daten vom Server nimmt und anzeigt

    mfg
    Knusperklumpen

  2. echo $begrüßung;

    <input type="submit" value="Senden" onClick="window.open('shop_zusammenfassung.php', 'shop','height=800, width=500'); return false;">
    So wie es jetzt gerade laeuft, oeffnet sich zwar beim klicken auf den Button das PopUp-Fenster mit der PHP-Datei, aber die Variablen werden nicht uebergeben :(

    Das Formular wird nicht abgeschickt, weil du mit return false die weitere Verarbeitung des Klick-Events abbrichst.

    echo "$verabschiedung $name";

    1. danke!
      habe return false rausgeschmissen und nun funzt es einwandfrei!

      DANKE ECHT!

      lg, flo

      echo $begrüßung;

      <input type="submit" value="Senden" onClick="window.open('shop_zusammenfassung.php', 'shop','height=800, width=500'); return false;">
      So wie es jetzt gerade laeuft, oeffnet sich zwar beim klicken auf den Button das PopUp-Fenster mit der PHP-Datei, aber die Variablen werden nicht uebergeben :(

      Das Formular wird nicht abgeschickt, weil du mit return false die weitere Verarbeitung des Klick-Events abbrichst.

      echo "$verabschiedung $name";

      1. Hi .. das musst du mir erklären!
        Der sendet das Formular per POST ins Popup??
        Kann ich nicht glauben!

        mfg
        Knusperklumpen

        1. echo $begrüßung;

          Der sendet das Formular per POST ins Popup??

          Das target-Attribut des Form-Elements macht es möglich.

          echo "$verabschiedung $name";

          1. Hi

            Das target-Attribut des Form-Elements macht es möglich.

            Achso ... ja das ist nicht schlecht ... wunderbar! Danke!

            mfg
            Knusperklumpen