De code:
Het probleem:
Ik heb de array $this->model en deze wordt gevuld met $_SESSION['model']. Op verschillende pagina's wil ik deze sessie aanvullen. Als er data gewist is (veld leeggemaakt) dan moet deze data ook uit de sessie verdwijnen. De structuur van $this->model gaat niet goed. Er komen of teveel indexen/keys in of juist te weinig. Alle childs komen ook in de root (fout dus).
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
| class Model { var $model = array(); function addModelData() { if (isset($_SESSION['model'])) { $this->model = $_SESSION['model']; } $this->iteratePost($_POST); } function iteratePost($array) { foreach ($array as $key => $value) { if (is_array($value)) { $this->model[$key] = $array[$key];// Dit gaat alleen goed als hij bij het laatste child is. Daarvoor komen deze gegevens (logisch) ook in de array, maar dat moet natuurlijk niet. Op zich klopt bij het laatste child de structuur wel. $array[$key] = $this->iteratePost($array[$key]); } else { $this->model[$key] = $array[$key];// Hier krijg ik nu alleen de laatste key van het laatste child, zodat de structuur niet klopt. } if ($value == "" || strstr($value, "remove") || empty($value)) { unset($array[$key]); } if (empty($array)) { unset($array); } } } } |
Het probleem:
Ik heb de array $this->model en deze wordt gevuld met $_SESSION['model']. Op verschillende pagina's wil ik deze sessie aanvullen. Als er data gewist is (veld leeggemaakt) dan moet deze data ook uit de sessie verdwijnen. De structuur van $this->model gaat niet goed. Er komen of teveel indexen/keys in of juist te weinig. Alle childs komen ook in de root (fout dus).
[ Voor 17% gewijzigd door nemesis_ op 03-10-2005 13:03 ]
Ook een cookie?