Automatische Weiterleitung nach Klick auf den submit Button bei einem Formular?
Hallo,
ich habe ein kleines Formular mit 2 Feldern (mittels method="post" ).
Wenn ich nach der Eingabe auf "weiter" klicke, werden die eingegebenen Sachen verarbeitet und ein Link erzeugt.
Nun zur Frage:
Ist es möglich, dass beim Klick auf "weiter" die Daten nach wie vor verarbeitet werden und der erzeugte Link direkt (ohne nochmal irgendwo klicken zu müssen) im neuen Fenster geöffnet wird?
Beispiel: Ich gebe etwas ins Formular ein und mit dem Klick auf "weiter" werden die eingegebenen Sachen verarbeitet und anschließend der erzeugte Link direkt geöffnet.
<input style= "color: blue; height: 35px; width: 150px;" type="submit" value="weiter">
Danke im Voraus.
3 Antworten
Die Weiterleitung auf eine andere Seite ist problemlos möglich. Das schwierigste daran wird sein, dass diese Seite nicht im aktuelle Tab, sondern in einem neuen Fenster geöffnet werden soll. Aus diesem Grund fällt die Möglichkeit mit header, wie @EinAlexander sie bereits korrekt beschrieben hat, weg.
Alternativ kannst du dies auch per JavaScript tun.
Dafür musst du nach erfolgter Eingabe per PHP ein Script-Tag einbinden, welches folgendes beinhaltet:
window.open("url");
Beim laden der Seite führt dies automatisch dazu, dass die erzeugte url in einem neuen Fenster geöffnet wird.
Mit freundlichen Grüßen
DerFalke123
<form action=" ...dein Link etc." target="_blank">
</form>
Das entscheidene ist das target="_blank"
=_blank öffnet im neuen Fenster
=_self im gleichen
=name_des_fensters (bei Frames z.B:)
Ist es möglich, dass beim Klick auf "weiter" die Daten nach wie vor verarbeitet werden und der erzeugte Link direkt (ohne nochmal irgendwo klicken zu müssen) im neuen Fenster geöffnet wird?
Ja, das ist problemlos möglich. Auf der Seite auf der Du die Formulardaten verarbeitest schreibst Du wie folgt:
<?php
# Verarbeitung der Inputfelder
# und Abspeichern des Linkziels in der Variablen $url
...
header("Location: $url");
exit;
?>
Alex
Dann würde er ja schon vor dem eingeben der Daten versuchen auf $url weiterzuleiten. :-/
Du musst natürlich abfragen, ob das Formular abgeschickt wurde. Zum Beispiel so:
<?php
if (isset($_POST['submit'])) {
CODE DER DIE DATEN VERARBEITET UND DIE URL GENERIERT
header("Location: $url");
exit;
}
?>
<!doctype html>
<title>Formular</title>
<form action="...">
...
</form>
Überhaupt wäre es interessant, den Quellcode zu sehen. Aber dann wäre das Problem in 5 Sekunden gelöst und die Aufgabe wäre nicht so spannend für die Antwortenden, wie sie ist, wenn man den Code nur raten kann :-)
Danke für den Tipp. Leider funktioniert das nicht. (Vielleicht weil ich es alles auf ein und der selben Seite mache?)
Dann würde er ja schon vor dem eingeben der Daten versuchen auf $url weiterzuleiten. :-/
Geht eine Weiterleitung auch irgendwie in Kombination mit dem Button? Dass der eine Art "Doppeleffekt" hat?