Formular abschicken und dann weiterleiten

Status
Nicht offen für weitere Antworten.

cameeel

Erfahrenes Mitglied
Also bräucht mal wieder eure hilfe :) :

Ich würd gerne wissen wie ich erreichen kann, das wenn jemand ein Formular (in test1.html) abschickt, nach test2.html weitergeleitet wird?

Das Formular wird dafür verwendet, Daten in eine SQL Datenbank zu schreiben, dürfte aber keine Rolle spielen...
 
Ich gehe mal davon aus, das du das Formular so:
Code:
<form action="eintrag.php" method="POST">
oder so ähnlich abschickst
dann schreibe doch einfach eine automatische Weiterleitung in die eintrag.php
wie:
Code:
<meta http-equiv="refresh" content="5; URL=http://test2.htm">
Als HTML Code natürlich.

Hinter content steht die Wartezeit in Sekunden, die setzt du auf 1 und dann trägt er ein, (was nicht länger als eine Sekunde dauern sollte) und leitet dann weiter.
 
Greife lieber auf das Senden eines HTTP-Header zurück, anstatt eine HTML-Äquivalenz zu benutzen.
PHP verfügt z. B. über eine Funktion namens header(), mit der es möglich ist einen HTTP-Header zu senden.
 
@Gumbo
Hey cool, letztens hatte ich genau das im PHP forum gefragt, und man meinte zu mir, das geht nicht. Gibt es noch die möglichkeit nen anderen Frame weiter zu leiten in PHP, oder geht dat wirklich nur mit JavaScript. Danke.

@cAm3eel
Is natürlich wesentlich eleganter, da geb ich Gumbo recht.
 
znysk hat gesagt.:
Ich gehe mal davon aus, das du das Formular so:
Code:
<form action="eintrag.php" method="POST">
oder so ähnlich abschickst
dann schreibe doch einfach eine automatische Weiterleitung in die eintrag.php
wie:
Code:
<meta http-equiv="refresh" content="5; URL=http://test2.htm">
Als HTML Code natürlich.

Hinter content steht die Wartezeit in Sekunden, die setzt du auf 1 und dann trägt er ein, (was nicht länger als eine Sekunde dauern sollte) und leitet dann weiter.

Mein Formular schickt das ganze so ab:
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">

Aber mit dem meta, da wird man doch nach 5 sekunden auf ne seite weitergeleitet, auch wenn man im Formular gar net auf senden gedrückt hat?
 
Also ich nutz immer echo, da hat mich das print gerade etwas irritiert, aber wozu gibts ja SelfPHP. Wo liegt der Unterschied zwischen echo und print, kann mir den jemand erklären, ansonsten auch egal.

@cAm3eel
Also ich gehe davon aus, das in
Code:
$_SERVER['PHP_SELF'];
ne Adresse zu ner seite steht. zum beispeil "print.php".
Und da trägst du jetzt einfach am ende des Scripst von "print.php", weil die wird ja nach dem abschicken des Formulars geöffnet, die Zeile:
Code:
header("Location: http://...test2.php");
ein.
Dat müsstes eigentlich sein.
 
Achso jetzt check ichs, hab gedacht du willst den meta tag in die gleiche datei machen wie in die wo das Formular drin ist...
Gute Idee würd bei mir aber nicht gehen weil bei mir die Eingaben im Formular in der gleichen Datei verarbeitet werden wie in der wo das Formular ist...

egal, cya
 
na dann machs doch wiklich mit dem
Code:
header("Location: http://...");
in PHP, weil den kannst du ja dann nach ner Bedingung ausführen, z.B.: Wenn du die Daten verarbeitet hast. der meta-tag geht nur im HTML-header. (glaube ich) aber pobiers mal.
 
Habs mit
PHP:
header("Location: http://www.philipp-langer.net/de/mozilla-firefox/gb_read.php");
probiert, das geht aber nicht, kommt nämlich folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v141100/de/mozilla-firefox/gb_form.php:13) in /www/htdocs/v141100/de/mozilla-firefox/gb_form.php on line 362


kann damit aber nix anfangen. Denn in Zeile 362 steht eben nur dieser eine php Befehl oder ist der etwa falsch?
 
? :confused:
Keine Ahnung, vieleicht weiß ja jemand wanders weiter? :confused:
Aber die Zeile scheint richtig zu sein. Bei mir 's. Vieleicht muss dat zu nem Zeitpunkt geschrieben werden, wo der header noch net gesendet wurde, also vor dem ganzen <HTML>... . :confused:
 
Status
Nicht offen für weitere Antworten.
Zurück