Formularfelder an externe URL übergeben
am 02.06.2009 - 15:06 Uhr in
Hallo,
wie kann ich die Werte von Formularfeldern beim Drücken des Submitt Buttons an eine externe URL weitergeben und diese in einem neuen Fenster öffnen?
Wie ich die URL zusammenbaue habe ich bereits gelöst, aber für das Öffnen habe ich noch nicht die richtige Funktion gefunden. Mit drupal_goto() werde ich ja nur intern auf eine andere Seite geleitet.
<?php
$url = 'http://www.webseite.tld/uebergabe';
$sl = '/';
$form_values = $form_state['values'];
$urlcomp = $url.$sl.$form_values['Name'].$sl.$form_values['Vorname'];
?>Danke
- Anmelden oder Registrieren um Kommentare zu schreiben

Als Erstes: Verwende das Devel Modul.
am 02.06.2009 - 15:33 Uhr
Als Erstes: Verwende das Devel Modul.
Sehe Dir mal von
<?phpdsm($form);
?>
die Devel-Ausgabe an.
Dann wirst Du erkennen das Du den submit_hook respektive den Submit Callback ueberschreiben musst - also Deinen eigenen submit_hook verwenden. Machst Du dies nicht wird immer der im Formular bereits existierende submit_hook verwendet - was momentan ja der Fall ist.
Weitere Stichworte sind: Redirect
Soll heissen in Deinem eigenen Submit Callback machst Du ein Redirect an die gewuenschte URL *.
Noch etwas. Du baust Du einen GET String auf:
<?php$urlcomp = $url.$sl.$form_values['Name'].$sl.$form_values['Vorname'];
?>
Mach mal ein
<?phpdsm($urlcomp);
?>
um zu sehen wie Dein GET String aussieht. Im Moment kann er so nicht funktionieren weil es keine "Parameterkette" in der Form
http://www.webseite.tld/uebergabe?lastname=bar&firstname=foogibt!
PS
*
Verwende an Stelle von drupal_goto() einfach url().
------------------------
Quiptime Group
quiptime schrieb Im Moment
am 02.06.2009 - 20:22 Uhr
Im Moment kann er so nicht funktionieren weil es keine "Parameterkette" in der Form
http://www.webseite.tld/uebergabe?lastname=bar&firstname=foogibt!
Es soll keine "Parameterkette" sein! So wie ich das oben zusammengesetzt habe ist das schon ok. Ich wusste nur nicht, wie ich die URL dann aufrufe.
Mit dem folgenden Befehl
am 03.06.2009 - 10:59 Uhr
Mit dem folgenden Befehl konnte die gewünschte Weiterleitung erfolgen.
<?php$form_state['redirect'] = $urlcomp;
?>
Wie öffne ich diese aber in einem neuen Fenster?
Danke
Redirect
am 03.06.2009 - 11:49 Uhr
Wie öffne ich diese aber in einem neuen Fenster?
Aus Drupal heraus ist dies nicht möglich.
Allerhöchstens beim Klick auf einen Link durch die Verwendung von
target, wobei ich (als Nutzer) das ziemlich bevormundent finde. Wenn ich eine Seite in einem neuen Fenster/Tab öffnen möchte, tue ich das. Wenn nicht, dann nicht. Soetwas möchte ich (als Nutzer) nicht von einer Anwendung vorgeschrieben bekommen. Nur so nebenbei beemerkt.Stefan
--
sei nett zu Deinem Themer
gabs da nichtmal sowas wie
am 03.06.2009 - 13:14 Uhr
gabs da nichtmal sowas wie ein ungeschriebenes Gesetz, dass man Links zu externen Seiten in einem neuen Fenster/Tab öffnen soll, damit:
1. der Nutzer weiß, dass er eine Seite eines anderen Anbieters öffnet.
2. man "fremden" Inhalt nicht ungewollt als eigenen darstellt.
Insofern finde ich den Wunsch das sich ein Link zu einer externen Seite in einem neuen Tab oder fenster öffnet durchaus gerechtfertigt.
target
am 03.06.2009 - 13:27 Uhr
Genau das Gegenteil ist der Fall. Zudem ist
targetin XHTML (strict) kein valides Attribut."Fremden Inhalt als eigenen darstellen" kommt noch aus der Zeit, in der Frames große Mode waren. Das hat nichts mit dem Öffnen neuer Fenster zu tun.
Stefan
--
sei nett zu Deinem Themer