PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Variablen mit gleichen Namen bearbeiten (http://www.selfphp.de/forum/showthread.php?t=6125)

Skyman 17.11.2003 01:18:19

Variablen mit gleichen Namen bearbeiten
 
Hallo @all,

mein Problem ist folgendes und sollte machbar sein (Webseiten mit ähnlicher Aufgabenstellung schon gesehen):

Ich habe eine Liste, die je nach User-Einstellung ausgegeben wird und somit unterschiedlich viele Einträge hat.
Jetzt habe ich zu jedem Listeneintrag noch ein "checkbox"-Feld hinzugefügt, damit der User für weitere Bearbeitungen diverse Listeneinträge auswählen kann.

Jetzt mein Problem:
Der Name der "checkbox" (name="listmsg") ist natürlich in jedem Eintrag der gleiche, nur der Inhalt (value) nicht.
Bei der Übergabe des Formfeldes mittels "Post" bekommt die neue Seite lediglich den "value"-Eintrag des letzten gewählten Eintrages übermitelt.
Wie kann ich an alle Einträge der "checkbox" kommen ?????

Irgendwie muß das doch gehen, die Variable wird auch nicht als array übergeben, schon getestet.

Wie muß ich das machen? Jedem Listeneintrag einen NAmen geben, wie "listmsg1","listmsg2" ist ja eine blöde Möglichkeit.

Für den entscheidenen Tipp wäre ich euch echt dankbar, das würde mir voll weiterhelfen.
Danke im Vorraus.

Martin

crusader 17.11.2003 07:39:40

Hi Skyman,

nach meinem Wissénsstand kannst du Checkboxen nur auslesen, wenn jede ihren eigenen Namen hat.
Aber die Vergabe der Namen kannst du ja dynamisch gestalten, damit hast du dann weniger auswand.

Grüße Crusader

sourcecode 17.11.2003 08:19:22

Du musst am Namen eckige Klammern anhängen, damit die checkbox-Werte in einem Array gespeichert werden:<input type="checkbox" name="listmsg[]" value="irgendwas">

Skyman 17.11.2003 12:28:32

Hey,

erstmal vielen Dank für die Infos. ;-))

Wenn ich es richtig verstehe, dann sorgt die "[]" hinter dem Namen dafür, das die Variable "listmsg" automatisch als array übergeben wird, richtig?
Hmh, das würde mir zumindest etwas weiterhelfen....


Ich habe aber nochmal nachgesucht wo ich das schonmal gesehen habe und auch gefunden. Wer von euch ein GMX-Mailkonto hat, kennt das schon. Da kann man Mails "markieren" um sie weiter zu handeln.
Ich habe mir gerade die Quellseite angesehen, die vergeben auch für die "checkbox" Variable IMMER(!) den gleichen Namen, auch ohne Klammern, nur der Valuewert unterscheidet sich.
Die schreiben auch vor Ihren Value-Inhalten immer ein Komma, so das ich mir vorstellen könnte, das die Ihre Werte später wie eine Aufzählung übergeben bekommen.
ABER WIE machen die das?
Es gibt sonst keine Anzeichen auf den Seiten, das da irgendwas verbogen wird oder mit Trick17 abläuft... ????

Also irgendwie muß das wohl gehen, auch wenn die wohl an ein Perl-Script übergeben, aber das bekommt doch auch keine anderen Daten als eine PHP Seite...

Vielleicht fällt euch noch was ein?
Trotzdem schonmal danke.

Martin

sourcecode 17.11.2003 18:50:45

Alle per GET übergebenen Variablen sind als ein String in $_SERVER['QUERY_STRING'] enthalten. Wenn das Formular also per GET versendet wird, könnte man dann mit regular expressions jeden einzelnen checkbox-Wert erfassen, ohne dass eckige Klammern am Ende des Namen stehen. Außerdem kann man das aber sicher auch mit CGI lösen.

Skyman 17.11.2003 22:06:14

Danke,

das war ein entscheidender Tipp.
Hab's ausprobiert und mir den String mit explode wieder in ein array gepackt, danke.

Trotzdem haben die bei GMX mittels "POST" übermittelt, aber was soll's ;-)))

Gruß
Martin


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:59:55 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.