Hallo,
ich möchte meine mehrseitigen Formulardaten in einer Sessionvariablen abspeichern als zweidimensionales array. Die Funktion ruf ich so auf:
saveFromVars(0); // 0 als Bsp., oder andere Formularseitennummer
function saveFormVars($seite) {
foreach($_POST as $varname => $value) {
$formVars[$varname] = trim(clean($value, 50)); // clean befreit von Sonderzeichen
}
$_SESSION['$allformVars[$seite]'] = $formVars; // aktuelle Formularseite ins Array[0]
}
Nutze ich das Ganze nicht als Funktion, läuft es. Da ich das aber an mehreren Stellen brauche, wollt ich gern daraus eine Funktion machen. Jedoch klappt die Zuweisung in die Sessionvariable offenbar nicht. Wenn ich darauf zugreife
z.B. echo $_SESSION['$allformVars[0]']['Feld1']
wird nichts angezeigt, jedoch bei
echo $formVars['Feld1']
Weiss jemand, wo das Problem ist? Danke.
Clean ist nicht das Problem, aber dennoch hier der Code:
function clean($input, $maxlength)
{
$input = substr($input, 0, $maxlength);
$input = EscapeShellCmd($input);
return ($input);
}
Aus Sicherheitsgründen hat man mir das so empfohlen.
Gruß Martina
Editiert, sorry Tippfehler, $ vergessen. ist aber im Code.
ich möchte meine mehrseitigen Formulardaten in einer Sessionvariablen abspeichern als zweidimensionales array. Die Funktion ruf ich so auf:
saveFromVars(0); // 0 als Bsp., oder andere Formularseitennummer
function saveFormVars($seite) {
foreach($_POST as $varname => $value) {
$formVars[$varname] = trim(clean($value, 50)); // clean befreit von Sonderzeichen
}
$_SESSION['$allformVars[$seite]'] = $formVars; // aktuelle Formularseite ins Array[0]
}
Nutze ich das Ganze nicht als Funktion, läuft es. Da ich das aber an mehreren Stellen brauche, wollt ich gern daraus eine Funktion machen. Jedoch klappt die Zuweisung in die Sessionvariable offenbar nicht. Wenn ich darauf zugreife
z.B. echo $_SESSION['$allformVars[0]']['Feld1']
wird nichts angezeigt, jedoch bei
echo $formVars['Feld1']
Weiss jemand, wo das Problem ist? Danke.
Clean ist nicht das Problem, aber dennoch hier der Code:
function clean($input, $maxlength)
{
$input = substr($input, 0, $maxlength);
$input = EscapeShellCmd($input);
return ($input);
}
Aus Sicherheitsgründen hat man mir das so empfohlen.
Gruß Martina
Editiert, sorry Tippfehler, $ vergessen. ist aber im Code.
Kommentar