Senden von Daten

counteract

Erfahrenes Mitglied
Hallo!

Ich habe mal eine Frage!

Und zwar versuche ich 2 Sende buttons für mein Formular zu erstellen, damit beim einen Button die Daten zur Seite 2 kommen und beim 2. Button die Daten zur seite 3 kommen.

Jodoch weis ich nicht wie ich dies machen soll.

Hat jemand eine Idee?

MfG

Counteract
 
Hallo,
eigentlich ist das ganz einfach. Also dein Formular wird an ein PHP Skript geschickt,
in diesem muss du dann nur überprüfen auf welchen Button geklickt wurde.
Das funktioniert ungefähr so:
PHP:
<?php
    if (isset($_POST['button1'])) {
        // mach was
    } else if (isset($_POST['button2'])) {
        // mach was
    }
?>
Der Button auf den nicht geklickt wurde existiert nämlich nicht, da ja nicht drauf geklickt wurde. ;)

mfg
forsterm
 
Zuletzt bearbeitet:
Mhm das klingt schonmal ziemlich gut! Jedoch weiß ich nun noch nich so richtig wie das funktionieren soll.

Wo soll dann dieses PHP script hin? Einfach mit in die Formlar seite?

Und wo wird dann die Angabe des "Ziels" also auf welche Seite man bei dem einen Button und bei dem anderen Button gelangt eingetragen?
 
Hallo,
hier nochmal ein Beispiel, vielleicht verstehst du es dadurch ja besser. ;)
PHP:
<?php
    if (isset($_POST['button1'])) {
        echo 'Button1 wurde geklickt.';
    } else if (isset($_POST['button2'])) {
        echo 'Button2 wurde geklickt.';
    } else {
?> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><input type="text" name="text" size="20" /></p>
    <p><input type="submit" value="Button1" name="button1" /> -<input type="submit" value="Button2" name="button2" /></p>
</form>
<?php } ?>

mfg
forsterm
 
ok! Jetz versteh ich die Sache schon besser, jedoch ist mir nicht klar wie man wenn man auf button 2 klickt auf die andere Seite gelangt!

Also es gibt ja 2 Seiten.
Ein button für die 1. Seite und ein 2. Button für die 2. Seite. Also muss ja irgendwie klar sein wohin er senden soll wenn man auf dem 2. Button klickt! Oder hab ich da n denkfehler drin?
 
Hallo,
was passierten auf den einzelnen Seiten? Eventuell kannst du sie ja mit [phpf]include[/phpf] einbinden.

mfg
forsterm
 
Also bei der einen Seite kann man weitere daten eingeben und bei der anderen Seite werden nur die Daten ausgegeben. Deshalb habe ich auch deine Funktion nicht so richtig verstanden!

Wie kann man denn also soetwas lösen Geht sowas mit deinem Code?
 
Hallo,
so könnte es zum Beispiel gehen:

PHP:
   <?php
    if (isset($_POST['button1'])) {
        header("Location: ".$_POST['button1']);
    } else if (isset($_POST['button2'])) {
        header("Location: ".$_POST['button2']);
    } else {
?> 
<form method="post">
<input type="submit" value="datei_nach_klick1.htm" name="button1" />
<input type="submit" value="datei_nach_klick2.htm" name="button2" />
</form>
<?php } ?>

header("Location: datei.htm"); leitet dich dann automatisch auf die datei.htm weiter.
Mein Code klappt natürlich nur, wenn du außer den beiden Buttons nichts im Formular hast. Wenn weitere Formulardaten an eine der beiden (oder beide) Seiten weitergegeben werden sollen, müsstest du diese evtl. noch mit ? an das Locationziel anhängen und dann mit $_GET["bla"] auf die Variablen zugreifen.
 
Wie meinst du das mit den ? an das Locationziel anhängen? Weil in meinem Fall 10 Formularinputs weitergegeben werden müssen und das an bei der 2. weiteren Seiten.

Momentan mache ich dies auch über POSt kann ich dies dann weiterhin verwenden?
 
Hallo,
vielleicht hilft dir ja folgendes Beispiel etwas weiter:
PHP:
<?php
    session_start();
    if (isset($_POST['button1'])) {
        $_SESSION['feld1'] = $_POST['feld1'];
        $_SESSION['feld2'] = $_POST['feld2'];
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><input type="text" name="feld3" size="20" /></p>
    <p><input type="text" name="feld4" size="20" /></p>
    <p><input type="submit" value="Weiter" name="auswerten" /></p>
</form>
<?php
    } else if (isset($_POST['button2'])) {
        echo '<pre>'.print_r($_POST, true).'</pre>';
    } else if (isset($_POST['auswerten'])) {
        $_SESSION['feld3'] = $_POST['feld3'];
        $_SESSION['feld4'] = $_POST['feld4'];
        echo '<pre>'.print_r($_SESSION, true).'</pre>';
    } else {
?> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><input type="text" name="feld1" size="20" /></p>
    <p><input type="text" name="feld2" size="20" /></p>
    <p><input type="submit" value="Weitere Daten eingeben" name="button1" /> - <input type="submit" value="Daten anschauen" name="button2" /></p>
</form>
<?php } ?>

mfg
forsterm
 
Zurück