Problem mit übergeben der selectvariablen

Pastor0345

Grünschnabel
Hallo! Habe ein Formular in dem ich ein Zeitraum für eine bestimmte Maßnahme angebe. Den Zeitraum gebe ich mit einem Anfangsdatum und einen Enddatum an. Die Daten gebe ich mit einem Dropdownfeld an. Jeweils eins für den Tag, den Monat und eines für das Jahr. Habe in dem Formular auch noch eine Überprüfung ob auch alle Daten enthalten sind, wie zum Beispiel der Name und so weiter. Jetzt habe ich das Problem das wenn ich das Formular abschicke und nicht alle Daten enthalten sind das Datum wieder auf den Ursprung zurückspringt. Hat einer eine Idee wie ich das ändern kann? Weiß ja das ich die Variable per POST übergeben muss. Aber wie mach ich das in diesem Fall?
PHP:
<form id="massnahmeform" name="massnahmeform" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <label for="name">Name:</label>
  <input type="text" name="name" id="name" size="40" value="<?php echo $_POST['name']; ?>" />
<div>
  <label for="anfdatum">von</label>
  <select name="anftag">
    <?php
		for($i=1; $i<=31; $i++ ) {
			if ($i < 10)
				$i = "0".$i;
			
				echo '<option value="'.$i.'">'.$i.'</option>';
		}
    ?>
  </select>
  <select name="anfmonat">
    <?php
	  $month = array(1=>"Januar",
					 2=>"Februar",
					 3=>"M&auml;rz",
					 4=>"April",
					 5=>"Mai",
					 6=>"Juni",
					 7=>"Juli",
					 8=>"August",
					 9=>"September",
					 10=>"Oktober",
					 11=>"November",
					 12=>"Dezember");
	foreach($month as $index => $ausgabe){
      $value = $index;
      if ($value < 10)
        $value = "0".$value;
      echo '<option value="'.$value.'">'.$ausgabe.'</option>';
    }
    ?>
  </select>
  <select name="anfjahr">
    <?php
    $year = date("Y");
    for($i=$aktuellesjahr; $i<=$aktuellesjahr+10; $i++) {
      echo '<option value="'.$i.'">'.$i.'</option>';
    }
    ?>
  </select>
  </div>
  <div class="eingabefeld">
      <input name="submit" type="submit" class="button" id="submit" value="Abschicken" />
      <input name="reset" type="reset" class="button" id="reset" value="Löschen" />
      <input type="hidden" name="MM_insert" value="formular">
  </div>
  <input type="hidden" name="MM_insert" value="massnahmeform">
</form>
 
In den jeweiligen for oder foreach Schleifen, kannst du einfach den übergebenen POST-Wert mit dem aktuellen Index vergleichen. Wenn diese identisch sind, gibst du in der <option Zeile ein "SELECTED" mit... und denn hat sich der Lack! ;)
 
Zurück