Formular -> Session Coocie etz

Hallo Leuts!

Ich bin jetzt schon ne Weile am schaffen und jetzt fragt mich doch n Kumpel nach ner Sache, auf die ich irgendwie auch keine Antort habe. Ich glaube es ist nur schon zu spät für mich - bin schon um 5:00 aufgestanden ;(

Nun aber zum Thema:

  • Formular mit Werten in einem Array.

  • Dieses Array wird einmalig beim Login eingelesen.

  • Vorhandene Arrayinhalte sollen verändert werden können.

  • Array wird in Session geschrieben weil mehrere PHP´s auf das Array zugreifen.

Problem:
Beim Absenden des Formulars wird ein Array mit den veränderten Daten versendet. Das entgegennehmende Script (glaube dieselbe php) überschreibt nun aber mit dem Session Array das ankommende.

Lösung:

  • Arrays so zusammenführen, das das „FormularArray“ Vorrang hat - keine Ahnung wie das geht.

  • Eure Vorschläge

na dann wünsch ich noch einen schönen Rest Abend und morgen einen schönen Tag.

Ulli

Meine Lösungwäre dann wohl mit array_merge zu verwirklichen. Aber irgendwie ist das ja nicht die feine Art.

Wenn ihr Ideeen habt - nur zu.

Ulli

also entweder erklärst Du das zu schlecht
oder ich erkenne das Problem daran nicht…
unterschiedliche Arraynahmen verwenden?

Session-Variable immer wieder neu setzen tust Du offenbar, oder? wenn Du eine Funktion/Schleife einbaust in Deinem Änderungsformular dann kannste auch super filtern ob ein update reingekommen is…

if ($_POST[action] == „update“) setnewsessionvar($_POST);

*schulterzuck*?

Da hast du natürlich recht. Nur ist das Array, was die Session hat mit mehr daten befüllt als jenes welches vom Formular ankommt. Sie haben zwar beide das gleiche Format.
Ich denke mal bei ihm geht es um Userverwaltung. Er hat ein Array voller User. Ein Formular kann nun einen User bearbeiten. Das Array welches vom Formular kommt sieht dann bsw. so aus:

$data[user][ulli][name] = Ulli
$data[user][ulli][alter] = 20
Sessionarray ist nun

$data[user][user1]…
$data[user][user2]…
$data[user][user3]…

$data[user][ulli][augenfarbe] -> braun

Kommt nun das Formulararray wird es von dem Sessionarray überschrieben. Nenn ich das Formulararray z.B. $f_data[] hat es nur die übergebenen Werte. Nun müssen die beiden zusammengefügt werden - denk ich.

Hoffe konnte mich etwas besser ausdrücken.

Danke, Ulli

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ich verstehs immer noch nicht ^^
dieses Session_array scheint ja sehr gross zu sein…
Denkt ihr dabei auch an den Rechner und die Probleme, die bei zu exzessiven Session-Handling auftreten können?

Kenne da einige Rechner, die dabei den Jordan runtergegangen sind ^^
ok war zwar ne belastung von Zeitweise 500 Usern gleichzeitig aber naja - muss ja nicht sein…

evtl wäre es doch viel leichter das ganze aus einer Datenbank zu holen?
Hat jeder User das gleiche Session-Array? Wenn ja dann kann man die Daten ja auch in einer Datei hinterlegen, die beim Seitenaufruf in ein array umgewandelt wird…

wenn ich mir das da unten aber ansehe dann verstehe ich immer noch nicht so ganz, was da das Problem sein soll ^^
einfach eine session-update funktion bauen, die bei formularsubmit aufgerufen wird und die relevanten variablen neu setzt…?
musste halt mit $_POST[data][user][ulli][name] ansprechen anstatt mit $data[user]…

HTH