[Variablen] erhalten

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

  • [Variablen] erhalten

    Hallo, ich habe folgende Probleme mit meinem PHP-Formular,
    es handelt sich um eine php-Datei, die sich selbst aufruft:

    Beim ersten Aufruf und wenn bestimmte Felder nicht ausgefüllt werden, erscheint das Formular im else-Bereich:

    PHP-Code:
     echo' <input type="text" name="strasse" value="'.$_POST['strasse'].'">'
    Wurde der Eintrag "strasse" getätigt, bleibt er wie gewünscht erhalten.

    Wurden alle Felder ausgefüllt, werden die Eingaben, ein Absende- und ein Zurück-Button per echo ausgegeben:

    PHP-Code:
     if ($_POST['strasse']) {
    echo 
    $_POST['strasse'];
    echo 
    '<input type="submit" value="&nbsp; zurück &nbsp;" onClick="this.blur()" name="back">
    <input type="submit" value="&nbsp; Anmelden &nbsp;" name="senden">'
    ;

    Beim Absenden werden die Daten wie gewünscht gemailt,
    nur wenn der Zurück-Button (ein Submit-Button, nicht der History.back vom Browser) gedrückt wird
    und wieder der else-Bereich (mit den Formularfeldern) erscheint,
    sind die Felder alle leer.

    Wie kann ich die Eingaben erhalten und dort wieder erscheinen lassen ???
    Zuletzt geändert von Mir; 03.11.2005, 17:52.
    yes sir i can boogie, sometimes

  • #2
    wenn ich dich richtig verstanden habe, gar nicht.

    auf den zurück-button hast du ja so keinen einfluss. und wenn der user den drückt, wird die seite meist aus dem cache aufgerufen. also kannst du da auch keine daten mehr nachträglich (z.b. aus der session) einfügen.

    Kommentar


    • #3
      Der User soll halt seine Eingaben nochmal aufgelistet bekommen,
      und notfalls wieder zurück gehen können um Fehler zu korrigieren.
      Zuletzt geändert von Mir; 03.11.2005, 17:52.
      yes sir i can boogie, sometimes

      Kommentar


      • #4
        Naja, der Zurückbutton ist auch ein Submit-Button,
        ich meine nicht den history.back vom Browser,
        die Variablen habe ich in einem hidden-feld.
        Aso!

        Mich verwirrt, dass ich sie vom Formular aus
        als html-text per echo ausgeben kann (logisch),
        aber den umgekehrten Weg zurück ins Formular
        nicht gebacken kriege.
        Du hast mittels print_r überprüft ob die daten auf der seite ankommen?
        Wie sieht der HTML-Quelltext auf der Seite
        a) mit dem zurück-button
        b) auf der zielseite
        aus?

        so ganz ist mir aber nicht wirklich klar, was bei dir jetzt klappt und was nicht. kannst du es mal kurz und bündig zusammenstellen?

        gerne schau ichs mir auch online an.

        Kommentar


        • #5
          Hier eine verkürzte Version des Scriptes:

          PHP-Code:
          <body style="margin: 0px" bgcolor="#ffffff" onLoad="this.focus();">
          <?php
          if (isset ($_POST['senden'])) {
              
          $adresse "email@irgendwohinoderso.de";
              
          $betreff "Nachricht";
              
          $botschaft $_POST['mailen'];
              if (
          $_POST['absender'] != "") {
              
          $sender $_POST['absender'];
              }
              else {
              
          $sender "keine Email-Adresse";
              }
                
          mail ($adresse$betreff$botschaft"From: $sender\nReply-To: $sender");
             echo
          ' Vielen Dank für Ihre Nachricht !';
              }

          if (
          $_POST['name'] && $_POST['vorname'] && $_POST['strasse'] && $_POST['email']) {

          echo
          '  $_POST['name'].'<br>'.$_POST['vorname'].'<br>'.$_POST['strasse'].'<br>'.$_POST['email'].'<br><br>
          <
          form action="formular.php" method="post">';
          $inhalt = $_POST['
          name']."\n".$_POST['vorname']."\n".$_POST['strasse']."\n".$_POST['email'];

          echo '
          <input type="hidden" value="'.$inhalt.'" name="mailen">
          <
          input type="hidden" value="'.$_POST['email'].'" name="absender">
          <
          input type="submit" value="&nbsp; zurück &nbsp;" onClick="this.blur()" name="back">&nbsp;
          <
          input type="submit" value="&nbsp; Senden &nbsp;" onClick="this.blur()" name="senden">
          </
          form>';

          }
          else {
          echo '
          Formular:<br><br>
          <
          form action="formular.php" method="post">
          <
          input type="text" name="name" size="30" maxlength="40" value="'.$_POST['name'].'">
          <
          input type="text" name="vorname" size="30" maxlength="40" value="'.$_POST['vorname'].'">
          <
          input type="text" name="strasse" size="30" maxlength="40" value="'.$_POST['strasse'].'">
          <
          input type="text" name="email" size="30" maxlength="40" value="'.$_POST[email].'">
          <
          input type="submit" value="&nbsp; Weiter &nbsp;">
          </
          form>';
              }
          ?>
          </body>
          Wenn auf den Button "back" gedrückt wird, kommt das Skript wieder
          zum else-Bereich, wo das Formular generiert wird, und genau da
          bekomm ich die vorher ausgefüllten Variablen nicht mehr in die
          Formular-Felder hinein.

          Wenn ein Feld ausgelassen wird und der Button "weiter" gedrückt wird,
          geht das Skript auch in den else-Bereich, und siehe da, die Variablen
          bleiben erhalten und erscheinen in den Feldern.

          Wenn auf "senden" gedrückt wird, kommt auch die Mail mit allen Einträgen richtig an.
          Zuletzt geändert von Mir; 03.11.2005, 17:54.
          yes sir i can boogie, sometimes

          Kommentar


          • #6
            Auf den ersten Blick fehlt mir da der HTML-Quelltext. Rest nicht gelesen,. Sorry!

            Kommentar


            • #7
              Ist ja richtig, ich dachte, so wäre das Problem leichter zu erkennen
              Mit print_r hab ich mal probiert, passiert garnix,
              also mach ich da bestrimmt nen logischen Fehler
              und/oder habe den falschen Ansatz
              Zuletzt geändert von Mir; 03.11.2005, 17:40.
              yes sir i can boogie, sometimes

              Kommentar


              • #8
                Nicht umsonst habe ich nach PHP- UND HTML-Quelltext gefragt.

                Aber vielleicht kannst du ja jetzt selbst schlüsse aus der nicht vorhandenen(?) print_r-Ausgabe ziehen.

                Kommentar


                • #9
                  Jetzt bekomme ichs hin, über den Umweg von hidden-feldern.
                  Ich habe zwar das Gefühl, dass das alles einfacher zu lösen wäre,
                  aber ich habe erstmal ein korrektes Ergebnis.
                  Schwierig ist nur noch der gleiche Umgang
                  mit checkboxen, aber da übe ich erstmal in Ruhe.
                  Das print_r hat mir auf die Sprünge geholfen, ist doch aber ebenso
                  mit der echo-Ausgabe der entsprechenden Variable möglich, oder?
                  Jedenfalls danke fürs Interesse
                  yes sir i can boogie, sometimes

                  Kommentar

                  Lädt...
                  X