AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP/HTML] Formulardaten als Array

Ein Thema von Matze · begonnen am 28. Feb 2008 · letzter Beitrag vom 28. Feb 2008
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 11:15
Hallo,

ich habe ein Array, das so aufgebaut ist:

Code:
array(
    [0] = array(
        'name' => 'ein Name'
        'value1' => 'ein Wert'
        'value2' => 'noch ein Wert'
    [1] = array (
        'name' => 'ein weiterer Name'
        ...
...
)
Beim Absenden eines Formulars, soll dieses Array in versteckte Felder "zwischengespeichert" werden, damit ich es beim nächsten Absenden wieder auslesen kann.

Mit einem einzelnen Wert kann ich das so machen:

Code:
<input type="hidden" name="array_names[]" value="ein Name" />
<input type="hidden" name="array_names[]" value="ein weiterer Name" />
Dann erhalte ich über $_POST['array_names'] ein Array dieser Art:

Code:
array(
    [0] => 'ein Name'
    [1] => 'ein weiterer Name'
)
wie kann ich dies für mehrere zusammengehörende Werte umsetzen ohne dafür 3 extra Arrays nutzen zu müssen, die man dann manuell wieder zusammenführen müsste?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 11:24
Hallo Matze, schau Dir mal die PHP-Funktion serialize an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 11:32
Zitat von Matze:
Beim Absenden eines Formulars, soll dieses Array in versteckte Felder "zwischengespeichert" werden, damit ich es beim nächsten Absenden wieder auslesen kann.
Du suchst Sessions! =)
Niemals nie kannst du dich auf die clientseitigen Angaben verlassen. Mit einer Session behältst du die Kontrolle über deine Daten und hast sogar die Garantie, dass sie noch vorhanden sind.

Edit: Um das Serialisieren der Daten brauchst du dich dann auch nicht kümmern. Die Objekte, die in einer Session gespeichert werden sind sofort wieder verfügbar.

LG,
Xong
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 12:38
Hallo, danke euch.

@Detlef: Stimmt, damit müsste es gehen.
@Xong: Ein Session-System nutze ich, doch wenn es ums Ausfüllen eines Formulars geht, dann möchte ich diese Eingaben nicht über Sessions laufen lassen.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#5

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 12:46
Zitat von Matze:
Ein Session-System nutze ich, doch wenn es ums Ausfüllen eines Formulars geht, dann möchte ich diese Eingaben nicht über Sessions laufen lassen.
Ich muss dir widersprechen. Genau dafür sind Sessions gedacht. Mit deiner Methode produzierst du nur weitere Fehlerquellen, die du abfangen musst (Falsche Werte in den versteckten Elementen, etc.). Besser ist, du speicherst das Array (!) als Sessionobjekt.
Eine einfache Zuweisung über $_SESSION['array_names'] = $MyArray sollte genügen.

Ich verstehe nicht ganz, wo du da ein Problem siehst...
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 12:57
Hm, also es handelt sich um ein Formular, bei dem man Kategorien wählen und Dateien hochladen kann.

Um anzuzeigen, welche Kategorien/Dateien bereits gewählt wurden, brauche ich das ganze.

Ich könnte das theoretisch schon über Sessions lösen, nur nutze ich nicht die Session-Funktionen von PHP, sondern etwas eigenes, wobei die Sessions in der Datenbank/Cookies gespeichert werden.
Vielleicht kann ich die PHP-Funktionen zusätzlich nutzen. Einfach auf die superglobale $_SESSION zugreifen wird wohl nicht reichen. Nicht, dass die Session zu früh abläuft oder ähnliches.
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#7

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 14:06
Zitat von Matze:
Nicht, dass die Session zu früh abläuft oder ähnliches.
Das kann man einstellen.
Christian Seiler hat das im Selfhtml-Forum sehr schön erklärt (http://forum.de.selfhtml.org/archiv/...41138/#m917053):
Zitat:
»» Wie kann man bei einer Session die Gültigkeitsdauer festlegen?

Da gibt's zwei Einstellungen:
  1. Wann der Garbage Collektor von PHP die Session als ungültig betrachtet, d.h. ab wie viel Sekunden seit dem letzten Zugriff eine Session komplett gelöscht werden soll. Danach kann jemand zwar noch die gleiche Session-ID verwenden, allerdings wird dann eine neue Session gestartet, da die alte Session weg ist. Die Einstellung heißt session.gc_maxlifetime und Du kannst sie mittels ini_set('session.gc_maxlifetime', $AnzahlSekunden); setzen.
  2. Wie lange der Session-Cookie gültig ist. Die Einstellung ist unabhängig von der obigen, da Session-IDs ja nicht ausschließlich über Cookies übertragen werden können, und die Angabe der Gültigkeitsdauer des Cookies sowieso nur eine Empfehlung für den Browser ist, der Browser sich aber nicht unbedingt daran zu halten braucht. Die Einstellung kannst Du mittels session_set_cookie_params() ändern. Eine Gültigkeitsdauer von 0 heißt, der Cookie bleibt bis zum Ende der Browsersitzung gültig, ansonsten ist dort die Anzahl der Sekunden einzutragen, die der Cookie gültig bleiben soll. Mit der Funktion können ferner noch einige andere Cookie-Einstellungen modifiziert werden, siehe dazu die Funktion setcookie() für eine Erklärung.
Wichtig ist: Alle Einstellungen müssen *VOR* session_start() vorgenommen werden, ansonsten funktioniert das ganze nicht oder nicht richtig.
LG,
Xong
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: [PHP/HTML] Formulardaten als Array

  Alt 28. Feb 2008, 14:30
Danke, aber ich bleibe bei den Hidden-Fields.
Diese Session-Lösung würde auch nicht funktionieren, falls man parallel an 2 Einträgen arbeitet. Hinzu kommt, dass ich die Eingabewerte so oder so validieren muss.

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz