Ik ben bezig met een formulier die uit meerdere delen bestaat en sla daarom alle waardes op in een sessie.
Dat gebeurd nu op deze manier:
Daarbij doet zich het probleem van de quotes voor. Als ik bijvoorbeeld invul hier vul ik "iets" in dan staat er in het formulier bij dat invulveld alleen nog maar hier vul ik \, door die quote (doordat ie gepost werd komt die \ er te staan)
Nou wilde ik dus een recursieve functie schrijven die overal die quotes omzet in " maar loop daarbij tegen het probleem aan dat ik wel met de indexering in m'n sessie rekening moet houden.
Ik heb 'm nu zo: (deels pseudo code)
$index moet dan aangeven hoe diep ie in de array moet gaan
$index+$key zorgt er voor dat ie dan weer een stapje dieper in de array gaat
Maar uiteraard werkt dat op deze manier niet
Als voorbeeld. $index zou er dus in eerste instantie voor moeten zorgen dat $_SESSION[$index][$key] wordt opgeslagen onder bijv. $_SESSION['formdata']['1'][$key].
Oh,...de functie moet recursief zijn, omdat er soms arrays ontstaan uit de postwaarden. vandaar dus het stukje (pseudo)code $index+$key
Ik hoop dat het probleem duidelijk is en dat iemand me kan helpen hoe ik dit werkend kan maken
Dat gebeurd nu op deze manier:
PHP:
($from is telkens de waarde die aangeeft onder welke pagina/formulier ze moeten worden opgeslagen.)1
| $_SESSION['formdata'][$from] = $_POST |
Daarbij doet zich het probleem van de quotes voor. Als ik bijvoorbeeld invul hier vul ik "iets" in dan staat er in het formulier bij dat invulveld alleen nog maar hier vul ik \, door die quote (doordat ie gepost werd komt die \ er te staan)
Nou wilde ik dus een recursieve functie schrijven die overal die quotes omzet in " maar loop daarbij tegen het probleem aan dat ik wel met de indexering in m'n sessie rekening moet houden.
Ik heb 'm nu zo: (deels pseudo code)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function put_in_session($array,$index) { foreach ($array AS $key => $value) { if (is_array($value)) { put_in_session($value,$index+$key); } else { $_SESSION[$index][$key] = str_replace("\"",""",$value); } } } |
$index moet dan aangeven hoe diep ie in de array moet gaan
$index+$key zorgt er voor dat ie dan weer een stapje dieper in de array gaat
Maar uiteraard werkt dat op deze manier niet
Als voorbeeld. $index zou er dus in eerste instantie voor moeten zorgen dat $_SESSION[$index][$key] wordt opgeslagen onder bijv. $_SESSION['formdata']['1'][$key].
Oh,...de functie moet recursief zijn, omdat er soms arrays ontstaan uit de postwaarden. vandaar dus het stukje (pseudo)code $index+$key
Ik hoop dat het probleem duidelijk is en dat iemand me kan helpen hoe ik dit werkend kan maken