Sommige session variabelen gaan verloren...
Zal ik het zeggen? Ja ik zeg het, HALLO!!!
Ik ben bezig met een uitgebreid formulier met meerdere stappen. Alleen nu is het probleem dat de waarden die ik in de session variabele zet verloren gaan...
Ik heb een index.php waarin bovenaan de regel session_start(); staat. In deze pagina include ik per stap een andere 'module'. M.B.V. GET kijk ik dus bij welke stap ik ben.
Nu heb ik op de eerst pagina een form, die waarden naar de 2e pagina stuurt. In die 2e pagina display ik de ingevulde waarden, en zet deze tevens in een session.
Hieronde staat dan weer een formulier met de velden voor de volgende gegevens. Als ik direct na deze code print_r($_SESSION); doe, dan displayed ie netjes de ingevulde waarden. Maar wanneer ik het formulier naar de volgende pagina post, en bovenaan die pagina print_r($_SESSION); is ie leeg. (En de enige plek waar ik een session_start doe is dus de index.php en dus in iedere pagina 1x als eerste regel). Wanneer ik in deze pagina als test het volgende doe: $_SESSION['debug'] = 'DEBUG'; en em daarna print, zie ik em netjes in beeld.
Als ik nu een pagina terug ga, waar dus de posts van de pagina daarvoor gedisplayed moeten worden vanuit de print_r($_SESSION); zie ik netjes alle waarden PLUS de DEBUG waarde!!! Vul ik dit formulier weer in en ga ik naar de volgende pagina, is de SESSION array slechts gevuld met de DEBUG waarde en de anderen zijn dus WEER verdwenen.
Waar kan dit aan liggen. Ik weet zeker datik nergens een $_SESSION = ''; doe, of een $_SESSION = array(); Ook sluit ik nergens de sessie, ik destroy em niet. Hoe kan ik dit probleem teckelen???
Bij voorbaad dank!
Ik ben bezig met een uitgebreid formulier met meerdere stappen. Alleen nu is het probleem dat de waarden die ik in de session variabele zet verloren gaan...
Ik heb een index.php waarin bovenaan de regel session_start(); staat. In deze pagina include ik per stap een andere 'module'. M.B.V. GET kijk ik dus bij welke stap ik ben.
Nu heb ik op de eerst pagina een form, die waarden naar de 2e pagina stuurt. In die 2e pagina display ik de ingevulde waarden, en zet deze tevens in een session.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$congressen = array();
if (isset($_POST)) {
foreach ($_POST as $name => $value) {
if (is_int($name)) {
$congressen[] = $name;
}
}
}
if ($_POST['functie'] == 'HA' || $_POST['functie'] == 'Anders') {
$prijs = 1;
} elseif ($_POST['functie'] == 'AIOS') {
$prijs = 2;
} else {
$prijs = 1;
}
foreach ($congressen as $value) {
$value = intval($value);
$query = "SELECT * FROM congressen WHERE id = {$value}";
$set = mysql_query($query);
if ($set) {
if (mysql_num_rows($set) == 1) {
$result = mysql_fetch_object($set);
if ($prijs == 1) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_reg.'</td></tr>';
$_SESSION[$value] = $result->prijs_reg;
} else {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_aio.'</td></tr>';
$_SESSION[$value] = $result->prijs_aio;
}
} else {
if ($prijs == 1) {
while ($result = mysql_fetch_object($set)) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_reg.'</td></tr>';
$_SESSION[$value] = $result->prijs_reg;
}
} else {
while ($result = mysql_fetch_object($set)) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_aio.'</td></tr>';
$_SESSION[$value] = $result->prijs_aio;
}
}
}
}
}
?>
$congressen = array();
if (isset($_POST)) {
foreach ($_POST as $name => $value) {
if (is_int($name)) {
$congressen[] = $name;
}
}
}
if ($_POST['functie'] == 'HA' || $_POST['functie'] == 'Anders') {
$prijs = 1;
} elseif ($_POST['functie'] == 'AIOS') {
$prijs = 2;
} else {
$prijs = 1;
}
foreach ($congressen as $value) {
$value = intval($value);
$query = "SELECT * FROM congressen WHERE id = {$value}";
$set = mysql_query($query);
if ($set) {
if (mysql_num_rows($set) == 1) {
$result = mysql_fetch_object($set);
if ($prijs == 1) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_reg.'</td></tr>';
$_SESSION[$value] = $result->prijs_reg;
} else {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_aio.'</td></tr>';
$_SESSION[$value] = $result->prijs_aio;
}
} else {
if ($prijs == 1) {
while ($result = mysql_fetch_object($set)) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_reg.'</td></tr>';
$_SESSION[$value] = $result->prijs_reg;
}
} else {
while ($result = mysql_fetch_object($set)) {
echo '<tr><td>'.$result->congresnaam.'</td><td>'.$result->prijs_aio.'</td></tr>';
$_SESSION[$value] = $result->prijs_aio;
}
}
}
}
}
?>
Hieronde staat dan weer een formulier met de velden voor de volgende gegevens. Als ik direct na deze code print_r($_SESSION); doe, dan displayed ie netjes de ingevulde waarden. Maar wanneer ik het formulier naar de volgende pagina post, en bovenaan die pagina print_r($_SESSION); is ie leeg. (En de enige plek waar ik een session_start doe is dus de index.php en dus in iedere pagina 1x als eerste regel). Wanneer ik in deze pagina als test het volgende doe: $_SESSION['debug'] = 'DEBUG'; en em daarna print, zie ik em netjes in beeld.
Als ik nu een pagina terug ga, waar dus de posts van de pagina daarvoor gedisplayed moeten worden vanuit de print_r($_SESSION); zie ik netjes alle waarden PLUS de DEBUG waarde!!! Vul ik dit formulier weer in en ga ik naar de volgende pagina, is de SESSION array slechts gevuld met de DEBUG waarde en de anderen zijn dus WEER verdwenen.
Waar kan dit aan liggen. Ik weet zeker datik nergens een $_SESSION = ''; doe, of een $_SESSION = array(); Ook sluit ik nergens de sessie, ik destroy em niet. Hoe kan ik dit probleem teckelen???
Bij voorbaad dank!
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
Er zijn nog geen reacties op dit bericht.




