Formularwerte komplett an Childwindow übermitteln

djinsane

Grünschnabel
Hallo zusammen!

Vielleicht kann mir ja einer bei meinem Problem weiterhelfen, mit der Suche habe ich leider nichts passendes gefunden.

Ich habe ein Formular, welches Benutzerdaten enthält, wie Vorname, Nachname und Telefonnummern. Diese Liste wird per Hand in Texteingabefelder des Formulars eingegeben und kann einen Benutzer oder mehrere enthalten. Wenn das Formular abgesendet wird, wird eine neue Zeile für eine weitere Eingabe angehängt. Die Daten werden dann per POST Methode an $PHP_SELF übermittelt und haben die Bezeichnung $vorname[0...], $nachname[0...] und $telefon[0...].

Das funktioniert auch wunderbar. Nun möchte ich aber eine Druckansicht von der Liste machen, da diese Texteingabefelder ein wenig unschön aussehen. Diese Druckansicht soll zwingend in einem PopUp geöffnet werden. Wie kann ich jetzt die kompletten Variabeln an das PopUp übergeben?

Kann ich die Variabeln umwandeln, dass sie wie bei einer GET Methode aussehen, in die Variabel $get_string packen und einfach folgenden Code ausführen?
Code:
<a href="<?$PHP_SELF?>?<?=$get_string?>">Druckansicht</a>
Gibt es da eine saubere Methode ohne alle Variabeln über die Adresszeile zu schicken oder sollte ich besser eine Lösung in JavaScript suchen?

Vielen Dank im Voraus!

Stefan
 
Die eleganteste Lösung wäre wohl, die ganzen Daten in einer Session zu speichern, ...da kannst du sie im Popup dann bequem Auslesen.
 
Hallo Sven!

Danke für den Tip... ich werde das mal ausprobieren, habe noch gar nicht an die Sessions gedacht :-( . Zwischenzeitlich habe ich eine JavaScript Lösung gehabt, die aber dummerweise nicht bei Checkboxen oder Radios funktioniert. Also habe ich mir einen POST2GET-Converter gebastelt.

Wenn also jemand das gleiche oder ähnliche Problem haben sollte, hier der Source:
PHP:
foreach ($HTTP_POST_VARS as $keys => $values) {
  if(!is_array($values)){
    if($values != ""){
      if($string != ""){
        $string .= "&".$keys."=".$values;
      }else{
        $string .= "?".$keys."=".$values;
      }
    }
  }else{
    foreach ($values as $key => $value) {
      if($value != ""){
        if($string != ""){
          $string .= "&".$keys."[".$key."]=".$value;
        }else{
          $string .= "?".$keys."[".$key."]=".$value;
        }
      }
    }
  }
}

Aufrufen kann man das ganze dann so:
HTML:
<a href="<?=$PHP_SELF.$string?>">Neues Fenster</a>
 
Zurück