Session Frage

brainsucker

Erfahrenes Mitglied
Hi,

folgende Frage:

Meint ihr eskann zu einem Problem kommen wenn man mehrere Session - Variablen setzt?

Ich habe in einer kleinen Webanwendung mehrere Formulare über die der User verschiedene Einträge machen kann. Die Eingaben prüfe ich dann und gebe Fehler aus sofern welche auftreten. Damit der User dann nicht von vorne anfangen muss das formular komplett auszufüllen, speicher ich die eingaben jeweils in einer session variable.

Über
Code:
<input type="text" value="<? echo $_SESSION["sessionvariable"] ?>">
geb ich das dann entsprechend vor.

Verlässt der User das Formular, oder ist der Eintrag korrekt lösche ich die Session variable mit

PHP:
unset($_SESSION["sessionvariable"] );



Meint ihr dass ein solches Vorgehen sinnvoll oder eher voll daneben ist?

Wir reden von ca 50-80 solcher Variablen. Schätzungsweise 10 bestehen immer...
 
Hi,

für deine Aufgabenstellung gibt es meines Wissens nach sowieo nur 3 Möglichkeiten:
die Daten über Hidden Fields mitzuschicken
beim User in Cookies zu speichern
oder eben Sessions

- ich würde mich in deinem Fall auch für die Session entscheiden. Wenn ich in eine Session große Datenmengen speichern muss und recht viele Besucher erwarte schreibe ich die Sessiondaten meistens in die Datenbank, was in deinem Fall vielleicht auch recht sinnvoll wäre.
 
Hi,

sollte eigentlich kein Problem sein, wenn Du bei der Menge Felder den Überblick über die Namen behältst... ;)
Wichtig ist, dass Du die eingegeben Daten prüfst, bzw. mit htmlspecialchars() wieder ausgibst, nicht, dass jemand auf die Idde kommt und z.B. Dinge, wie
"><script type="text/javascript">machwas</script>
eingibt.

LG
 
ich würde die Formulare per POST-Request abschicken, und dann auf den gewünschten Inhalt prüfen (XSS und SQL injection lässt grüssen) und Daten vom Postarry mit einer while-Schlaufe in hiddenfelder schreiben oder wieder in die Felder die du möchtest, dazu gibt ein kleinen Trick:

<input type='text' name='name' value='<?php echo ($_POST[feldname]) ? $_POST[feldname] : ""; ?>'>

wenn du noch das Script für die hidden Felder möchtest, kann ich es für dich heraussuchen.

gruss
Chris
 
„Nimm dich vor den Bären in Acht“, sagte die Frau des Jägers und versteckte sein Gewehr hinter ihrem Rücken.

So ähnlich ist dein Beitrag zu werten. Auf der einen Seite sagst du zwar, dass die Benutzereingaben nicht ungeprüft verarbeitet oder ausgegeben werden dürfen, im Beispiel wird dies jedoch nicht berücksichtigt. Zumindest die htmlspecialchars()-Funktion sollte hier Erwähnung finden.
 
Zurück