Hendrik: Formulareingaben beim Reload merken

Hi!

In einem Dropdown-Feld soll das eben selektierte nach einer Vorschau-Funktion (bei der überprüft wird, ob, bzw. wie die Felder ausgefüllt wurden) selektiert bleiben.

<select name="Anrede" size="1">
<option value="Herr">Herr</option>
<option value="Frau">Frau</option>
</select>

Muss ich jetzt in jedem option eine PHP-Anweisung wie

<?
if ($_POST['Anrede'] == 'Herr'){
echo "selected"
}
?>

machen oder kann sich php das auch irgendwie merken???

Zur Verdeutlichung:

In ein Textfeld trägt PHP die zuvor vom User eingetragene Zeichenkette automatisch per value ein:

<?
$anrede = $_POST['anrede'];
?>
<form method="post">
<input type="text" name="anrede" value="<?=$anrede?>">
<input type="submit" value="Absenden">
<form>

MfG Hendrik

  1. Hallo,

    Muss ich jetzt in jedem option eine PHP-Anweisung wie

    <?
    if ($_POST['Anrede'] == 'Herr'){
    echo "selected"
    }
    ?>

    machen [...]???

    Ja, leider ist mir auch keine andere Möglichkeit bekannt.

    Tschau

    Tobias

    --
    Speedswimming? Finswimming? Flossenschwimmen?|http://www.tobiasklare.de
    fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  2. Hallo Hendrik.

    Muss ich jetzt in jedem option eine PHP-Anweisung wie

    <?
    if ($_POST['Anrede'] == 'Herr'){
    echo "selected"
    }
    ?>

    machen oder kann sich php das auch irgendwie merken???

    Du könntest doch gleich die option-Elemente per Schleife ausgeben lassen und anhand des Wertes von $_POST['Anrede'] das selected-Attribut setzen.

    Beispiel (mir war gerade danach):

    <select name="Anrede">  
    [code lang=php]<?php  
    $arr_anreden = array('Herr', 'Frau', 'Fräulein', 'Sir');  
      
    foreach ($arr_anreden as $str_anrede) {  
      
      echo '  <option value="'.$str_anrede.'"';  
      
      if (isset($_POST['Anrede']) and $_POST['Anrede'] == $str_anrede) {  
        echo ' selected="selected"';  
      }  
      
      echo '>'.$str_anrede.'</option>'."\n";  
      
    }  
    ?>
    

    </select>[/code]

    Einen schönen Donnerstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Holla!

      Du bist ja fit! Oder verwendest du das auch auf deiner HP?
      Egal, ist aber ein super script, DANKE!

      Hendrik