Hallo,
ich möchte in einer Sessionvariable das ausgewählte Jahr speichern, dazu habe ich ein kleines Script zum Test gebastelt.
Testausgaben (Punkt AAA, BBB, CCC) zeigen den aktuellen Stand der Sessionvariable rechnungsjahr). Leider kommt die aktuell gesetzte Sessionvariable (siehe CCC) im Punkt AAA nicht an.
Wenn ich auf die Radiobuttons klicke, wird immer zwischen den beiden letzten Inhalten der Sessionvariable gewechselt. Was mache ich falsch?
Unter kann das Beispiel angesehen werden.
ich möchte in einer Sessionvariable das ausgewählte Jahr speichern, dazu habe ich ein kleines Script zum Test gebastelt.
Testausgaben (Punkt AAA, BBB, CCC) zeigen den aktuellen Stand der Sessionvariable rechnungsjahr). Leider kommt die aktuell gesetzte Sessionvariable (siehe CCC) im Punkt AAA nicht an.
Wenn ich auf die Radiobuttons klicke, wird immer zwischen den beiden letzten Inhalten der Sessionvariable gewechselt. Was mache ich falsch?
Unter kann das Beispiel angesehen werden.
Code:
<?php
// ini_set('session.use_trans_sid', true);
session_name('reha');
session_start();
header('content-type: text/html; charset=utf-8');
$seitentitel = "Test Rechnungsjahr";
$anz_jahre = 9;
// Das Jahr wird ausgewählt
function getJahr ($rechnjahr) {
$jahr = "";
switch ($rechnjahr) {
case 1: $jahr='2016'; break;
case 2: $jahr='2017'; break;
case 3: $jahr='2018'; break;
case 4: $jahr='2019'; break;
case 5: $jahr='2020'; break;
case 6: $jahr='2021'; break;
case 7: $jahr='2022'; break;
case 8: $jahr='2023'; break;
case 9: $jahr='2024';
}
return $jahr;
}
echo '<h3>' . $seitentitel . '</h3>';
if (isset($_POST["auswahl"])) { $checkAuswahl = $_POST["auswahl"]; } else { $checkAuswahl = "AR"; }
// unset ($_SESSION["rechnungsjahr"]);
if (!isset ($_SESSION["rechnungsjahr"])) {
// wenn nicht vorhanden, auf 2016 gesetzt
echo "------------- auf 2016 gesetzt" . "<hr>";
$rechnungsjahr = 2016; //date("Y");
$_SESSION["rechnungsjahr"] = $rechnungsjahr;
}
echo "<form name='f' action='{$_SERVER["PHP_SELF"]}'" . " method='post'>";
echo "<input type='hidden' name='PHPSESSID' value='<?=session_id()?>'>";
echo "Punkt AAA: SESSION[rechnungsjahr]: " . $_SESSION["rechnungsjahr"] . "<br><br>";
// Jahr
echo "Waehlen Sie das Jahr aus: ";
echo "<td><select name='rjahr' onchange='submit();'>";
for ($i = 1; $i <= $anz_jahre; $i++) {
$jahr = getJahr($i);
if ($jahr == $_SESSION["rechnungsjahr"]) {
$attr = ' selected="selected" ';
// echo "<script type='text/javascript'>alert('$jahr');</script>";
} else {
$attr = ' ';
}
echo ("<option size = \"10\" value=\"" . $jahr . "\" " . $attr . ">" . $jahr . "</option>");
}
echo "</select></td>";
echo " ";
?>
<input type="radio" name="auswahl" onClick="submit();" value="AR" <?php if ($checkAuswahl == 'AR') {echo "checked";} ?> >Alle
<input type="radio" name="auswahl" onClick="submit();" value="AB" <?php if ($checkAuswahl == 'AB') {echo "checked";} ?> >Alle bezahlten
<input type="radio" name="auswahl" onClick="submit();" value="AO" <?php if ($checkAuswahl == 'AO') {echo "checked";} ?> >Alle offenen
<?php
echo "<hr>" . "_POST:" . "<br>";
var_dump($_POST);
echo "<hr>";
echo "<br>Punkt BBB: SESSION[rechnungsjahr] alt: " . $_SESSION["rechnungsjahr"];
// Eine Auswahl wurde getroffen
if (isset ($_POST["auswahl"])) {
$auswahl = $_POST["auswahl"];
}
if (isset ($_POST["rjahr"])) {
$rechnungsjahr = $_POST["rjahr"];
$_SESSION["rechnungsjahr"] = $rechnungsjahr;
}
echo "<br>Punkt CCC: SESSION[rechnungsjahr]: " . $_SESSION["rechnungsjahr"];
echo "</form>";
?>
Zuletzt bearbeitet: