Nach Neuaufruf meiner Seite sind die Daten weg
Haran
- php
Guten Tag,
ich verwende ein Array um sämtliche Daten eine Formulars zu speichern. Wird ein Drop-Down-Feld geändert wird durch JS-onclick meine Seite neu geladen. Dann ist aber mein Array leer bzw undefiniert.
Wie kann ich den Inhalt meines Arrays über das Seiten-Neuladen retten?
mfg
Haran
Die Werte der Formularfelder werden ja in dem Fall des Drop-Down-Menüs nicht übergeben. Diese werden lediglich mittels den Submit-Buttons übermittelt.
Es sollte funktionieren, wenn du mittels JavaScript das Formular absendest
http://de.selfhtml.org/javascript/objekte/forms.htm#submit
statt die Seite neu zu laden.
MfG,
McKinsey
Die Werte der Formularfelder werden ja in dem Fall des Drop-Down-Menüs nicht übergeben. Diese werden lediglich mittels den Submit-Buttons übermittelt.
Es sollte funktionieren, wenn du mittels JavaScript das Formular absendest
Ich sende das Formular im JavaScript ab.
Aber das Array ist dann "verschwunden" - ich müsste es aus den Formular-Daten neu befüllen - aber ich kann nicht alle Daten im Array aus den Formulardaten gewinnen.
Wenn ich das erste mal eine Drop-Down-Box ändere wird der Formular-Inhalt korrekt dargestellt aber wenn ich dann noch ein 2tes Drop-Down-Feld ändere geht die erst Änderung verloren, da diese NUR im Array hinterlegt ist.
Bisher habe ich beim Seitenaufruf die Daten aus einer Datenbank abgerufen - daher verschwinden die Änderungen der ersten Runde sobald ich eine 2te Änderung mache.
Daher wollte ich das Array der ersten Runde nur weiter ergänzen - aber das exestiert ja nicht mehr.
Wie kann ich also das Array so global halten, das es mir beim Neuaufruf der Seite wieder zur verfügung steht?
mfg
Haran
Hello,
Wie kann ich also das Array so global halten, das es mir beim Neuaufruf der Seite wieder zur verfügung steht?
eigentlich nur über Umwege:
MfG
Rouven
Hello,
Wie kann ich also das Array so global halten, das es mir beim Neuaufruf der Seite wieder zur verfügung steht?
eigentlich nur über Umwege:
- ein Cookie mit den Inhalten füllen
- einen zweiten Frame platzieren, der nicht neu geladen wird und demnach die Daten erhält
- die Daten ebenfalls zum Server schicken und wieder ausliefern bzw. dort in einer Session ablegen und nur Änderungen verschicken.
MfG
Rouven
Hallo,
Danke für die Anregungen.
An Cookies hatte ich schon gedacht, aber lt Tutorial auf http://tut.php-quake.net/ gehn damit keine Arrays - ich denke ich setz mich morgen an die Sessions.
Danke an alle
Haran
Hello,
wenn es nicht um sicherheitsrelevante Dinge Deines Scriptes geht, kannst Du die Daten auch ohne Session weiterreichen. Dazu benutzt Du einfach ein einziges Hidden-Field im Formular.
Array serialisieren http://de3.php.net/manual/en/function.serialize.php
Ergebnis codieren z.B. mit Base64_encode() http://de3.php.net/manual/en/function.base64-encode.php
Codierte Daten ins hidden Feld schreiben
absenden zum Client
mit dem Post wiederbekommen
Daten decodieren mit base64_decode()
Ergebnis deserialisieren
Array ist wieder da
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Grüße
da dein Thema PHP-getagt ist, würde ich serverseitige $_SESSION als zwischnespeicher vorshclagen
MFG
bleicher