multiple select box

quezo

Mitglied
Hi,

ich habe folgendes Problem:

In einer multiple SelectBox können mehrere Emailadressen ausgewählt werden. Wie kann ich die Werte dann auslesen?
Die Lösungen, die mittels der Suche kamen, haben mir nicht helfen können, da ich den Namen des <Select> nicht mit "name[]" angeben kann, da ich Javascript im Formular benutze.

Mein Skript sieht so aus:

PHP:
for($i=0; $i<count($select_name); $i++) {
   echo $select_name."\n";
}
Allerdings funktioniert es so nicht

Geht sowas mit foreach?

Wer kann mir da helfen?
 
Naja, das ist eigentlich nicht was ich meine.

In der SelectBox hast du ca. 10 Optionen (also, Email1, Email2 etc.)
Jetzt kann man daraus 1, 2 oder beliebig viele auswählen.

Dann wird das Ganze ans Skript übertragen. Mit GET also skriptname.php?multiple_select=Email1&multiple_select=Email2 ...

Jetzt wenn ich mit der im vorherigen Beitrag genannten for-Schleife das ausgeben will klappt es nicht. Die Variable multiple_select müsste doch ein Array sein, oder nicht?
 
...multiple_select=Email1&multiple_select=Email2...

wenn es wirklich so übergeben wird, dann ist das etwas dumm...
damit wird $multiple_select ja zweimal mit werten gefüttert. und dann würde man ja nur auf den 2. zugreifen können.
 
Funktioniert das?

Also ich habe das so gemacht, leider wird nix ausgegeben.

Die foreach-Schleife sieht so aus:
PHP:
foreach($showMail as $mail_addr) {
	echo $mail_addr."<br>\n";
}
echo "<br>Ausgabe fertig.\n";
Wenn ich echo $showMail; absetze, dann bekomme ich nur den letzten Wert.
 
dann ist $showmail kein array mit mehreren elementen.

Die variablen eines formulars übergibt man eh nicht über die url

schau doch mal ein post über dir, da ist der grund
 
Das mit der URL ist ja wegen method="get" im Form-Tag.

Aber du hast Recht, $showMail ist dann kein Array. Wie kann man das dann lösen?

Kann man die URL aufsplitten, dass die Variablen-Werte-Paare ausgelesen werden?
 
uh, mit get habe ich noch nichts gemacht, daher ka wie das genau läuft :)

aber, das script/formular scheint ja ausgeführt zu werden, bevor die variablen abgeschickt werden.

Bevor sie abgeschickt werden hast du ja auch noch deinen array, dann lass dir doch mehrere variablen erstellen

PHP:
$c = count($deinarray);
for($i=0;$i<=$c;$i++){
 $var.$i = $deinarray[$i];
}

dann hast du mehrere variablen, die du mit der url übergeben kannst.

oder ein hidden-input feld, falls das geht.
 
hoi

am einfachsten ist es wenn du den namen der selectbox als array machst (name="box_name[]") und die id als normalen namen (id="box_name")

Beispiel:
<select name="box_name[]" id="box_name" multiple>

so kannst du für php den array namen nutzen und für java die id.

greez ;)
 
Zurück