Formularauswertung: Werte wiederherstellen?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Formularauswertung: Werte wiederherstellen?

    Hallo!
    Schönes Wetter, was?

    Ich werte mit PHP ein Formular aus, prüfe ob alle Felder ausgefüllt sind, ob E-Mail-Adresse richtig eingegeben ist etc. Wenn man einige Felder vergessen hat und den Formular abschickt, kommt natürlich eine Meldung, dabei werden die Werte von bereits ausgefüllten Feldern wieder geladen. Und hier habe ich mein Problem: bei den Textfeldern lade ich den Value einfach mit

    PHP Code:
    <input type="text" name="irgendwas" value="<?php echo $feldname?>">
    Wie kann ich dasselbe mit einem SelectBox machen? Ich meine den ausgewählten Wert beim neuladen des Seite selektieren?

    Ich habe bereits hier im Forum einige ähnliche Posten gefunden, habe aber die Lösungen nicht ganz verstanden, es war vielleicht mehr für PHP-Fortgeschrittene formuliert. Ich bin dagegen ein blutiger PHP-Anfänger und würde mich über eine verständliche Erklärung und ein bißchen Beispielcode sehr freuen.

    Vielen Dank!

  • #2
    1. informiere dich umgehend über das thema "register globals"!
    2. http://tut.php-q.net/formulare.html#u11 müsste deine frage beantworten.

    Comment


    • #3
      Danke für schnelle Antwort!

      OK, mit Register Globals ist klar.

      PHP Code:
      <input type="Text" name="irgendwas" value="<?php echo $_POST['feldname']; ?>">
      Habe auch die Seite angeschaut, aber leider keine Lösung gefunden. Könnte jamand so nett sein und ein kleines Kodebeispiel posten? Mithilfe Code werde ich halt besser verstehen, was mit
      PHP Code:
      selected="selected" 
      gemeint ist.

      Danke!

      Comment


      • #4
        forumsuche macht ************y:
        http://www.php-resource.de/forum/sea...der=descending

        Comment


        • #5
          OK, habe was gefunden, bin schon ganz nah an der Lösung, denke ich.
          Gehe mit einer Schleife über alle Einträte, vergleiche diese mit dem übertragenen Wert und bei Übereinstimmung setze "selected" (so war es jedenfalls in einem mehr oder weniger für mich verständlichem Posten erklärt).

          PHP Code:
          for ($i 0$i 54$i++) {
                echo 
          '<option value="'.$i.'"';
                if (
          $_POST['land'] == $i) echo ' selected';
                echo 
          '>'.$i.'</option>';
                }

          Dabei werden in die Auswahlliste die Zahlen von 0 bis 53 hinzufügt, 0 ist markiert und die HTML-Code sieht dann so aus:

          PHP Code:
          <select size="1" name="land">
          <
          option value="0" selected>0</option>
          <
          option value="1">1</option>
          <
          option value="2">2</option>
          <
          option value="3">3</option>
          <
          option value="4">4</option>
          <
          option value="5">5</option>
          <
          option value="6">6</option>
          <
          option value="7">7</option>
          <
          option value="8">8</option>
          <
          option value="9">9</option>
          <
          option value="10">10</option>
          <
          option value="11">11</option>
          <
          option value="12">12</option>
          ...
          </
          select
          obwohl bei diese Auswahlliste bei mir einen Länderliste ist und normalerweise so aussieht:

          PHP Code:
          ...
          <
          OPTION VALUE="Ägypten">Ägypten</option>
          <
          OPTION VALUE="Albanien">Albanien</option>
          <
          OPTION VALUE="Andorra">Andorra</option>
          <
          OPTION VALUE="Belgien">Belgien</option>
          <
          OPTION VALUE="Bosnien-Herzegowina">Bosnien-Herzegowina</option>
          <
          OPTION VALUE="Brasilien">Brasilien</option>
          <
          OPTION VALUE="Bulgarien">Bulgarien</option>
          <
          OPTION VALUE="Dänemark">Dänemark</option>
          ... 
          Wo ist der Fehler?

          Ich bin eigentlich mehr ein Delphi-Entwickler und setze mich zum ersten mal mit der PHP auseinnander, und auch nur deswegen, weil der, der das eigentlich machen sollte, im Urlaub ist. Und von der Seite eines Delphi-Entwicklers würde ich mich fragen wo in dem o.g. Code eine Anweisung steht, dass während der Schleife die Einträge des Feldes "land" gelesen werden sollen. Aber es ist ehe egal... Wo ist denn mein Fehler?

          Comment


          • #6
            du lässt ja auch den counter $i ausgeben, der vom typ integer ist.
            an die ländernamen kommst du höchstwahrscheinlich, indem du $i als schlüssel eines arrays benutzst und den wert dieses array-elementes ausgibst.

            z.b.
            PHP Code:
            $laender = array('de''uk''fr');

            for(
            $i=0;$i<3;$i++)
            {
               echo 
            $laender[$i].'<br />';

            Comment


            • #7
              Das heisst, ich soll erst mal alle Werte des Auswahlboxes in ein Array laden oder was?

              Könnte mir jemand eine fertige Codebeispiel posten? Ich komme sicher schneller klar, wenn ich ein Stück Code da habe.

              Comment


              • #8
                Das kannst du doch aus deinem gefundenen und dem Codebeispiel von penizillin zusammenstricken..
                Sogar als Delphi Coder

                Ich weiss aber nicht ob option value="Ägypten" so ne tolle sache ist


                So eine art Array wäre da angebrachter...

                PHP Code:
                array("0" => "Ägypten""1" => "Albanien"); 
                Value = 0 und anzeige = Ägypten....
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Comment


                • #9
                  Das heisst, ich soll erst mal alle Werte des Auswahlboxes in ein Array laden oder was?
                  so kann man es sagen.
                  Könnte mir jemand eine fertige Codebeispiel posten?
                  habe ich schon.

                  hhcm:
                  So eine art Array wäre da angebrachter...
                  warum soll ein assoziatives array, das ein numerisches bloß imitiert "angebrachter" sein? in meinem beispiel werden die werte auch der reihenfolge nach durchnummeriert. nur eben - automatisch.

                  Comment

                  Working...
                  X