Seite 1 von 2
2 Senden Buttons nebeneinander
Verfasst: 20.02.2004 17:24
von Reality
Hi,
ich erstelle gerade ein Formular in php und HTML.
Ich habe jedoch ein Prob:
Ich kann keine 2 Buttons nebeneinander erstellen, wo der eine die Vorschau zeigt und der andere absendet.
Bei mir zeigt es immer nur die Vorschau an.
Hier der Code:
Code: Alles auswählen
<form action="auswert.php" method="POST">
<form action="absenden.php" method="POST">
....
....
php und html code
....
....
<center>
<input type="submit" name="absenden" value="Absenden">
<input type="submit" name="vorschau" value="Vorschau"> <!-- konnte es nicht anders in die Mitte kriegen -->
</center>
</form>
Kennt jemand den Fehler?
Liebe Grüße
Reality
Verfasst: 20.02.2004 17:31
von hansen
Du darfst zwei Formulare nicht ineinander verschachteln. Der Browser weiß dann nicht, welcher Button zu welchem Formular gehört.
Ich weiß allerdings auch nicht, wie sich das mit der Vorschau machen lässt.

Verfasst: 20.02.2004 17:42
von Reality
Mist!
Muss doch möglich sein.
Hier im Forum ist das ja auch so.
Liebe Grüße
Reality
Verfasst: 20.02.2004 17:47
von netzmeister
Hallo,
versuch es mal so..
HTML:
Code: Alles auswählen
<form action="formular.php" method="POST">
....
....
php und html code
....
....
<center>
<input type="submit" name="absenden" value="absenden">
<input type="submit" name="vorschau" value="vorschau"> <!-- konnte es nicht anders in die Mitte kriegen -->
</center>
</form>
PHP: (formular.php)
Code: Alles auswählen
if (isset($_POST['absenden']))
{
// absenden geklickt.
}
else
{
// vorschau geklickt.
}
Gruß netzmeister
Verfasst: 20.02.2004 17:52
von Reality
Hi,
dann müsste ich ja alles in einer Datei schreiben!
Naja, ich jetzt erst mal eine Notlösung, danke!
Liebe Grüße
Reality
Verfasst: 20.02.2004 17:58
von Reality
Oh halt!
Muss ich gar nicht! Ich könnte auch eine automatische Weiterleitung machen!
Liebe Grüße
Reality
Verfasst: 20.02.2004 18:24
von Reality
Mist, ich will das jetzt so lösen, geht aber nicht.
Code: Alles auswählen
<form action="<?php echo $weiterleitung; ?>" method="POST">
....
code
....
<center>
<input type="submit" name="vorschau" value="Vorschau">
<input type="submit" name="absenden" value="Absenden">
</center>
<?php
if(isset($_POST['absenden'])){
$weiterleitung="absenden.php";
}
else{
$weiterleitung="vorschau.php";
}
?>
Es wird immer nur der aktuelle Formular aktualisiert.
Was ist falsch?!
Liebe Grüße
Reality
Verfasst: 20.02.2004 19:07
von Reality
Hi,
habe nun den Code so geändert:
Code: Alles auswählen
<form action="<?php
if(isset($_POST['absenden'])){
echo "absenden.php";
}
else{
echo "auswert.php";
}
?>" method="POST">
....
Code
....
<center>
<input type="submit" name="vorschau" value="Vorschau"> <!-- konnte es nicht anders in die Mitte kriegen -->
<input type="submit" name="absenden" value="Absenden">
</center>
</form>
Ich werde jedesmal zu auswert weitergeleitet. Woran liegt das?
Liebe Grüße
Reality
Verfasst: 20.02.2004 19:45
von MsTiFtS
Das kann ja gar nicht gehen! PHP weiß ja nicht im Voraus, worauf der User klicken wird...
Also: (so könnt's gehen)
Code: Alles auswählen
<?php
if(isset($_POST['absenden'])){
header("Location: absenden.php");
die();
}
elseif(isset($_POST['vorschau'])){
header("Location: vorschau.php");
die();
}
?>
<form method="POST">
....
code
....
<center>
<input type="submit" name="vorschau" value="Vorschau">
<input type="submit" name="absenden" value="Absenden">
</center>
So werden halt die POST-Daten nicht mitübertragen, aber auch das kann man lösen...
z.B. in dem man das alles in einer Datei macht...
Dann muss man halt den Header-Befehl durch den Code, der im entsprechenden Fall ausgeführt werden soll ersetzen...
Verfasst: 20.02.2004 20:04
von Reality
So werden halt die POST-Daten nicht mitübertragen, aber auch das kann man lösen...
z.B. in dem man das alles in einer Datei macht...
Muss aber übertragen werden. Und die ganzen Codes in einer Datei, finde ich zu groß.
Liebe Grüße
Reality