optionfeld + form action

anfeanger83

Mitglied
hallo

ich habe ein Optionfeld mit 3 möglichkeiten je nach dem welche ausgewählt soll eine seite geladen werden. Funktioniert nur nich so recht er lädt nix wenn ich auf den Button drücke hier der Code:


<form action="<?php echo $aus?>" method="POST">
......

<SELECT NAME="dauer" SIZE="">
<option value='dreitage.php'> 3 Tage </option>
<option value='siebentage.php'> 7 Tage </option>
<option value='zehntage.php'> 10 Tage </option>
</SELECT>
.....

<?
$aus = $_POST['dauer'];
php?>
 
ich wähle eine der drei Optionen aus, der Pfad dieser option z.b. dreitage.php soll in Form action eingetragen werden. So das ich mit drücken des buttons auf die jeweilige seite komme
 
Das ist so wie du es dir vorstellst nicht möglich. Denn PHP wird serverseitig ausgeführt, das Formular müsste also erst an den Server übermittelt werden, damit das Ziel des Formulars feststeht.
Du könntest allerdings eie Umleitung vornehmen und dort den übergebenen Wert verwenden, etwa:
PHP:
if( !empty($_POST['dauer'] ) {
	header('Location:'.$_POST['dauer']);
	exit;
}
 
Hier einmal etwas als denkhilfe :)


Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function Go(x) {
 if(x == "nothing") {
   document.forms[0].reset();
   document.forms[0].elements[0].blur();
   return;
 }
 else if(x == "end")
   top.location.href = parent.frames[1].location;
 else {
   parent.frames[1].location.href = x;
   document.forms[0].reset();
   document.forms[0].elements[0].blur();
 }
}
//-->
</script>
</head>
<body bgcolor="#EEEEEE">
<form action=""><select size=1 name="Auswahl"
  onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)"
  style="width:250px; background-color:#FFFFE0; font-size:9pt; font-family:Arial,sans-serif;"
  width="250">
<option value="nothing">[ bitte auswählen! ]</option>
<option value="nothing">------------------------</option>
<option value="../verweisliste.htm">Verweisliste als Auswahlliste</option>
<option value="nothing">------------------------</option>
<option value="../../../editorial/index.htm">Editorial</option>
<option value="../../../intro/index.htm">Einführung</option>
<option value="../../../html/index.htm">HTML</option>
<option value="../../../css/index.htm">CSS Style-Sheets</option>
<option value="../../../xml/index.htm">XML/DTDs</option>
<option value="../../../javascript/index.htm">JavaScript/DOM</option>
<option value="../../../dhtml/index.htm">Dynamisches HTML</option>
<option value="../../../cgiperl/index.htm">CGI/Perl</option>
<option value="nothing">------------------------</option>
<option value="end">Beenden
</select></form>
</body>
</html>


Das ist ein beispiel vom direkten zugriff auf die Ausgewählte Seite als Javascript
 
Das ist so wie du es dir vorstellst nicht möglich. Denn PHP wird serverseitig ausgeführt, das Formular müsste also erst an den Server übermittelt werden, damit das Ziel des Formulars feststeht.
Du könntest allerdings eie Umleitung vornehmen und dort den übergebenen Wert verwenden, etwa:
PHP:
if( !empty($_POST['dauer'] ) {
	header('Location:'.$_POST['dauer']);
	exit;
}

Kurz etwas zum Script selbst, was er gepostet hat... ( Form wird begonnen... <form>

aber wo is das ende?)
 
Zurück