Session probleem
Het werkt wel met een input en ook met een vaste tekst waarde, maar niet vanuit een selectie lijst.
Ik gebruik een testvoorbeeld van internet om het probleem uit te leggen (en om het werkend te krijgen).
Het beginbestand heb ik sessietest.php genoemd en bestaat uit de onderstaande code:
<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Session testing 123</title>
</head>
<body>
<form method="post" name="bereken" action="">
<div class="field">
<h2>Vertrekdatum</h2>
<select name="retourdatum" id="retourdatum" class="select">
</select>
</div>
<input type="submit" name="bereken" id="bereken" value="berekenen" id="berekenen" />
</form>
Code (php)
<a href="page2.php">Next page</a>
</body>
</html>
</code>
De code van de tweede pagina bestaat uit:
<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Session testing 123 page 2</title>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
echo 'De retourdatum is: '.$_SESSION["retourdatum"].'<br />';
unset($_SESSION['retourdatum']);
session_destroy();
?>
echo 'De retourdatum is: '.$_SESSION["retourdatum"].'<br />';
unset($_SESSION['retourdatum']);
session_destroy();
?>
</body>
</html>
</code>
Als ik nu de knop Berekenen druk wordt de sessie variabele gevuld en kan ik met de link next page de sessie variabele uitlezen.
Ik wil echter direct vanuit het posten van het formulier de seesie variabele meenemen en opo de tweede pagina tonen.
Ik wijzig dan in de regel <code><form method="post" name="bereken" action=""></code> de action in page2.php.
Na een druk op berekenen verschijnt netjes de nieuwe pagina, echter zonder de waarde uit de sessie.
Wat doe ik fout?
Al vast bedankt voor jullie hulp.
Als je action veranderd in page2.php wordt $_POST['retourdatum']; naar page2.php verstuurd en dus niet in de sessie gezet.
Dat klinkt logisch, het zijn dus 2 afzonderlijke acties die uitgevoerd moeten worden.
Is het mogelijk om dit te doen in een actie (1 druk op de knop)?
Code (php)
en dan zonder page2.php als action in je form.
Dat werkt grandioos, weer wat geleerd.