Formularauswertung: Werte wiederherstellen?

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

  • 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.

    Kommentar


    • #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!

      Kommentar


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

        Kommentar


        • #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?

          Kommentar


          • #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 />';

            Kommentar


            • #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.

              Kommentar


              • #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]

                Kommentar


                • #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.

                  Kommentar

                  Lädt...
                  X