Variable mit method="post" übergeben?
T-Rex
- php
Ich hab ein Script geschrieben, bei dem man schon existierende Datensätze editieren kann.
Das Problem ist, dass nur Sachen editiert werden (Input), die den Datensatz nicht identifizieren. Dem entsprechend hab ich ein Problem beim Updaten der Datensätze.
Beim Ausgeben der Daten habe ich alle relevanten Informationen, so auch die Datensatz-id. Sobald man aber auf den Button "edit" zum (rattet mal) editieren anklickt, werden aber mittels method="post" nur die Inhalte der "Input-Variablen" an die Datei zum Einfügen übergeben. Die eindeutige Identifikation, sprich die Datensatz-id geht mir verloren.
Kann ich diese Datensatz-id auch irgendwie mitübergeben?
Danke fürs lesen!
Moin,
Kann ich diese Datensatz-id auch irgendwie mitübergeben?
<input type="hidden" name="db_id" value="Deine Datensatz ID" />
Das wars schon.
Ste
Jo!
wenn du die ID des datensatzes aus der Datenbank z.B. ließt dann setze sie in dem Formular als input hidden mit rein. Dann wird sie mit post mitgehen.
gruß
Devel
Ich hab ein Script geschrieben, bei dem man schon existierende Datensätze editieren kann.
Das Problem ist, dass nur Sachen editiert werden (Input), die den Datensatz nicht identifizieren. Dem entsprechend hab ich ein Problem beim Updaten der Datensätze.Beim Ausgeben der Daten habe ich alle relevanten Informationen, so auch die Datensatz-id. Sobald man aber auf den Button "edit" zum (rattet mal) editieren anklickt, werden aber mittels method="post" nur die Inhalte der "Input-Variablen" an die Datei zum Einfügen übergeben. Die eindeutige Identifikation, sprich die Datensatz-id geht mir verloren.
Kann ich diese Datensatz-id auch irgendwie mitübergeben?
Danke fürs lesen!
Ahoi T-Rex,
Kann ich diese Datensatz-id auch irgendwie mitübergeben?
ja, indem du diese auch in ein input feld schreibst welches du nicht
anzeigst. es empfiehlt sich type="hidden" zu benutzten, kannst aber auch
per CSS display: none setzten und einen feldtyp deiner wahl nehmen.
MfG
Hello,
Kann ich diese Datensatz-id auch irgendwie mitübergeben?
Selbstverständlich kannst Du sie auch mit übergeben.
Bau ein Hidden-Feld in das Formular ein.
Und nun noch was zur Sicherheit.
Wenn der Datensatz zum Lesen geholt wird, dann speicher ihn (zumindest seine ID und den Konflict-Counter [1]) in der Session unter einer Unique-ID ab. Diese Unique-ID schreibst Du nun ins Hidden-Feld im Formular, das an den Client geht. Wenn dieser die geänderten Daten nebst Unique-ID an das Script zurückschickt, prüfst Du im Script, ob diese Unique-ID in der Session steht und welche Datensatznummer dazugehört.
War sie vorhanden, kannst Du die Änderung durchführen [1] und den Datensatz unter der Unique-ID aus der Session löschen. Wenn Du auch die Spaltennamen und ihre Typen in der Sessioon ablegst, kannst Du nauch überprüfen, welche Parameter aus dem Post zurückkommen sollten und auch auf das Rücksetzen von Radio, Checkboxen und Selectfeldern reagieren (--> Spaltentyp SET und ENUM)
[1] Einen Konfliktcounter benötigt man dann, wenn mehrere User gleichzeitig an der DB arbeiten dürfen. Beim Zurückschreiben der Daten wird er um eins erhöht. Es wird aber nur zurückgeschrieben, wenn der Wert aus der Session noch mit dem aus der Tabelle übereinstimmt.
Alles klar? ;-)
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom