Hallo!
Ich versuche ein Formular zu erstellen und hierfür eine Navigation ähnlich eines Breadcrumb anzulegen.
Ich versuche das mit einer Variablen 'Step' zu lösen.
Vom ersten zum zweiten Step funktioniert es auch prima, aber dann nicht mehr...
Könnt Ihr mir weiter helfen? Wo könnte mein Fehler liegen?
Ich versuche ein Formular zu erstellen und hierfür eine Navigation ähnlich eines Breadcrumb anzulegen.
PHP-Code:
<!-- Das PHP-Skript beginnt - dieser Code muss in die HTML-Datei eingebunden werden-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Wetterlage archivieren</title>
</head>
<body onload="javascript:inputfeld.focus()">
<!--CSS einbinden-->
<link rel="stylesheet" type="text/css" href="/styles/wetterlagenarchiv.css">
<?php
$output = '<form name="params" action="" method="post">';
$navigation = array(
'Startdatum' => 1,
'Startzeit' => 2,
'Dauer' => 3,
'Speichername' => 4
);
echo '<h1>Bitte wählen Sie, welche Daten Sie im Archiv ablegen wollen.</h1>';
//scheinbar muss die Abfrage geändert werden, da bei Klick auf Breadcrumb kein Formular abgesendet wird...
//bzw irgendwas scheint nicht zu funktionieren mit der Übergabe des Steps
if( isset( $_POST['data'] ) ) {
$params = json_decode($_POST['data'], true);
switch ($params['step']){
case 1:
if( isset( $_POST['date'] ) && $_POST['date']!='no date') {
++$params['step'] ;
$params['datum'] = $_POST['date'];
echo '<!-- Navigation --> <div> <ul id="nav">';
$take = $params['step'];
$i = 0;
foreach ($navigation as $text => $s){
echo '<li><a href="archivieren.php?step='.$s.'"'.($s==$take ? ' class="active"' : '').'>'.$text.' festlegen </a></li>';
}
echo '</ul></div>';
$date = date_format(date_create($params['datum']), 'd.m.Y');
$output .= 'Datum gesetzt: '. $date;
$output .= '</br>Sie befinden sich bei Step: '.$params['step'];
}
break;
case 2:
if (isset( $_POST['zeit'] ) && $_POST['zeit']!=' no time'){
++$params['step'];
$params['zeit'] = $_POST['time'];
echo '<!-- Navigation --> <div> <ul id="nav">';
$take = $params['step'];
$i = 0;
foreach ($navigation as $text => $s){
echo '<li><a href="archivieren.php?step='.$s.'"'.($s==$take ? ' class="active"' : '').' <!--onclick="submitForm()"--> >'.$text.' festlegen </a></li>';
}
echo '</ul></div>';
$date = date_format(date_create($params['datum']), 'd.m.Y');
$output .= 'Datum gesetzt: '. $date;
$output .= '</br>Startzeit gesetzt: '. $params['zeit'] .' Uhr';
}
break;
case 3:
break;
}
}else{
$params = array( 'datum' => 'no date',
'zeit' => 'no time',
'dauer' => 'no term',
'name' => 'no name',
'step' => 1,
'auswahl' => true
);
echo '<!-- Navigation --> <div> <ul id="nav">';
$take = $params['step'];
$i = 0;
foreach ($navigation as $text => $s){
echo '<li><a href="archivieren?step='.$s.'"'.($s==$take ? ' class="active"' : '').'>'.$text.' festlegen </a></li>';
}
echo '</ul></div>';
}
$output .= ( ($params['step']<2) ? datePicker() : '</br>');
$output .= ( ($params['step']==2) ? zeit($params['datum']) : '</br>');
$output .= '<input name="data" type="hidden" value=\'' . json_encode($params) . '\'>';
$output .= '</form>';
echo $output;
function datePicker() {
//Create the form
echo "<FORM ACTION=".$_SERVER['PHP_SELF']." METHOD=POST>";
echo "<SELECT name='date' >
<OPTION>Startdatum waehlen</OPTION>";
$dir="test_archive/temporary";
$alledateien = scandir($dir); //Ordner auslesen
$dates = array();
foreach ($alledateien as $datei) { // Ausgabeschleife
if ($datei != "." && $datei != ".."){
$date = date_format(date_create($datei), 'd.m.Y');
echo "<OPTION value='".$datei."'>".$date."</OPTION>";
}
};
echo "</SELECT>";
echo "<P>";
echo "<INPUT TYPE='SUBMIT' NAME='Submit' VALUE='Startdatum festlegen'>";
}
function zeit($datum){
if( isset( $datum ) && $datum!='no date') {
//Unterordner für ausgewähltes Datum auslesen
$directory="test_archive/temporary/".$datum."/radar";
$unterordner = scandir($directory); //Ordner auslesen
//print_r($unterordner);
$Zeiten = array();
foreach ($unterordner as $stunden) { // Ausgabeschleife
if ($stunden != "." && $stunden != ".."){
$Zeiten[]=$stunden;
}
sort($Zeiten);
};
//Drop-Down-Menü
$x = count($Zeiten);
//echo"<select onChange=\"window.location='Datum_auslesen.php?startzeit='+this.value\">";
echo "<form method='post' action=\"\" >";
echo "<select name='zeit' onchange='this.form.submit()'>";
//echo "<select onChange=setCookie('startzeit', this.value)>";
echo"<option value=null SELECTED><-- Startzeit wählen --></option>";
for ($i=0 ; $i<$x; $i++){
echo "<option value='$i'>$Zeiten[$i]</option>";
}
echo"</select>";
echo"<input name='datum' type='hidden' value='" .$datum."'>";
//echo"<input type='submit' value='Startzeit festlegen'>";
echo"</form>";
}else{
echo 'Kein Datum gesetzt.';
}
}
?>
</body>
</html>
Vom ersten zum zweiten Step funktioniert es auch prima, aber dann nicht mehr...

Könnt Ihr mir weiter helfen? Wo könnte mein Fehler liegen?
Kommentar