Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular - Daten für nächste Seite behalten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • NetLook
    hat ein Thema erstellt Formular - Daten für nächste Seite behalten.

    Formular - Daten für nächste Seite behalten

    Hallo!

    Ich habe ein Formular, welches an die nächste Seite geschickt wird, wo die Daten der ersten Seite mit echo ausgegeben werden. Auf dieser Seite ist aber noch ein Kontakt-Formular.

    Es sollen sowohl die Kontaktdaten, als auch die Daten der ersten Seite gesendet werden.

    Mich wundert, das die Variable Produkt z.b. der ersten Seite ab hier nicht mehr erkannt wird, dabei habe ich die Variable zuvor als global definiert:

    if ($val_name==2&&$val_firma==2&&$val_email==2&&$val_ strasse==2&&$val_plz==2&&$val_ort==2&&$val_land==2 ){

    $message = "<font color='#000000' size='3' face='Arial, Helvetica, sans-serif'>Anrede: ".$Anrede.
    "
    Produkt: ".$produkt.
    "
    Name: ".$Name.
    "
    Vorname: ".$Vorname.


    Außerhalb von if, wird der Wert auch ausgegeben?!



    Gruß
    NetLook

  • NetLook
    antwortet
    Yo das funktioniert! Vielen Dank an alle!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Danke. In das Kontaktformular bindest du jetzt noch die Felder des anderen Formulars ein. Ich nehme an, sie sollen unsichtbar sein, und einfach nur die Werte nochmal mitübertragen:

    Code:
    while(list($key, $val) = each($_POST)) {
        echo "<input type=\"hidden\" name=\"$key\" value=\"$val\"/>";
    }
    Wenn du nun das Kontaktformular abschickst, erhältst du auch sämtliche Felder aus dem ersten Formular. Bei Mehrfachauswahllisten musst gesondert behandeln.

    Isch schbreche deutsch.

    Einen Kommentar schreiben:


  • NetLook
    antwortet
    Zuerst kommen einige PHP Funktionen, wo u.a. die Daten des ersten Formulars addiert werden und das Kontaktformular der aktuellen Seite auf Vollständigkeit geprüft wird.

    Das Kontaktformular beginnt so:

    ...name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

    Und dann kommen die einzelnen Felder:

    <tr align="left" valign="top">
    <td width="205" height="20">Name*
    <?php if ($error["Name"] != "")print errmsg($error["Name"]);?></td>
    <td width="205" height="20">Vorname
    <?php if ($error["Vorname"] != "")print errmsg($error["Vorname"]);?></td>
    </tr>
    <tr align="left" valign="top">
    <td width="205" height="50"><input class="kontakt" type="text" name="Name" value="<?php print htmlspecialchars($_REQUEST["Name"]); ?>"></td>
    <td width="205" height="50"><input class="kontakt" type="text" name="Vorname" value="<?php print htmlspecialchars($_REQUEST["Vorname"]); ?>"></td>
    </tr>

    Ich hoffe die Info ist ausreichend?!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Das zweite Formular muss auf jeden Fall die ausgefüllten Felder des ersten Formular beinhalten. Cookies und Sessions sind eine Alternative, um Daten dauerhaft abzulegen, aber machen in diesem Fall keinen Sinn.

    Wie baust du denn das zweite Formular auf?

    Einen Kommentar schreiben:


  • NetLook
    antwortet
    Ist das denn nötig:
    1. Hidden-Felder
    2. Cookies
    3. Sessions
    ?

    Ich meine der Wert der Variablen wird ja sonst ausgegeben, nur nicht in der If Schleife.

    Ich habe das jet mit $_GET und $_POST versucht, klappt aber nicht?!

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Re: Formular - Daten für nächste Seite behalten

    Zitat von NetLook
    Außerhalb von if, wird der Wert auch ausgegeben?!
    Warum sollte es außerhalb nicht ausgegeben werden. Ein if-Block hat schließlich keinen eigenen Namespace.

    Du holst auch brav alle Variablen mit $_GET['produkt'] bzw. $_POST['produkt'] usw. ab?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Drei Vorschläge:

    1. Hidden-Felder
    2. Cookies
    3. Sessions

    Gruß
    phpfan

    Einen Kommentar schreiben:

Lädt...
X