PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übergabe von <select> elementen


sami
16.01.2002, 14:01
wenn ich in php auf die elemente eines durch ein formular gesendeten <select> zugreiffen will, muss ich ja im namen des selects [] haben.
z.b. so:

<select multiple name=&quot;bier[]&quot;>
<option value=&quot;binding&quot;>Binding</option>
<option value=&quot;warsteiner&quot;>Warsteiner</option>
<option value=&quot;stauder&quot;>Stauder</option>
<option value=&quot;stuttgarter&quot;>Schwabenbräu</option>
</select>

ich will das select aber zuvor auch mit JS ansprechen und das lässt [] in namen nicht zu.
gibt es eine andere variante?


cYrus
16.01.2002, 14:05
mit PHP kannste afaik das Problem ned lösen bzw. es geht ned anders als dieses []! Eine anderer Lösungsansatz ist jedoch, dass du die Werte mit der Submit URL übergibst...

so long
cYrus

sami
16.01.2002, 14:16
schade

also du meinst, dass ich die submit url per javascript zusammenbastle?

cYrus
16.01.2002, 14:45
ned per JS, lieber mit PHP -> läuft stabiler..

so long
cYrus

sami
16.01.2002, 14:54
öhm, wie soll denn das gehen, wenn ich die gar ned senden kann?
php kann ja nur was machen beim seitenaufbau, ned zur laufzeit.

cYrus
16.01.2002, 16:05
ich versteh dich vermutlich falsch könntest du mal die Frage genauer definieren?

so long
dj-cYrus

sami
16.01.2002, 16:17
Computer: &quot;bitte spezifizieren sie.&quot;
ok

was meinst du damit genau:
Original von DJ Cyrus
Eine anderer Lösungsansatz ist jedoch, dass du die Werte mit der Submit URL übergibst...

cYrus
16.01.2002, 16:20
also ich habe bis jetzt angenommen, dass du alle möglichen Antworten in einem Select mitnehmen möchtest - oder wie meinst du das?

greez
cYrus

sami
16.01.2002, 16:28
genau, richtig
wenn mans per GET übertragen würde, würde die url dann z.b. so aussehen:
ziel.php?bier=binding&bier=warsteiner
also wenn ichs ohne [] mache.

cYrus
16.01.2002, 17:34
ziel.php?bier=binding&bier=warsteiner

jo genau das hatte ich gemeint.. aber was is jetzt das Prob?

so long
dj-cYrus

sami
16.01.2002, 17:40
damit kann ja php eben ned umgehen
weil $bier dann immer überschrieben wird und zuletzt einfach den wert des letzten parameters &acute;bier&acute; enthält (hier warsteiner)

cYrus
16.01.2002, 17:42
jo aber wieso nimmste ned ne andere Variable?

sami
16.01.2002, 17:49
wofür ne andere varibale? wie ne andere variable?
der name &acute;bier&acute; wird ja durch den namen des html select-tags bestimmt.
und auch wenn ich dem nen anderen namen geb, es haben immer noch alle options den selben variablenname. und in php einbinden tu ich den parameter ja, indem ich $namedesparameters nehm.

cYrus
16.01.2002, 17:51
also ich dachte du nimmst in der URL die Namen selber rein ;)

so long
dj-cYrus

sami
16.01.2002, 17:53
und wie soll ich das hinbringen?

cYrus
16.01.2002, 17:55
action=&quot;ziel.php&meinbier=blabla&quot;

sami
16.01.2002, 17:57
ich hab das doch im select, schon vergessen? *fg*

cYrus
16.01.2002, 17:59
bitte closed mal den Thread sami soll einen neuen beginnen und dann mit ner anstöndigen Beschreibung!

@sami Ich peils ned bitte drück dich mal richtig aus :D und dann darfste hier weida schreiben - langsam gehst du mir echt auf die Nerven ;) :D

so long
dj-cYrus

sami
16.01.2002, 18:07
bla

also, ich beschreibs nochmals schön langsam:

ich hab eine html datei.
sie beinhaltet ein formular.
dieses formular beinhaltet folgendes select:

<select multiple name=&quot;bier&quot;>
<option value=&quot;binding&quot;>Binding</option>
<option value=&quot;warsteiner&quot;>Warsteiner</option>
<option value=&quot;stauder&quot;>Stauder</option>
<option value=&quot;stuttgarter&quot;>Schwabenbräu</option>
</select>

ich greiffe in eben dieser html-datei per javascript auf dieses select zu und verändere es.
deshalb darf der name des selects kein [] enthalten.
danach sende ich das formular an eine php datei ab.
in dieser php-datei will ich _alle_ optionen ausgeben, die im select in der html-datei selektiert waren.
php will aber dazu, dass der name des selects in der html-datei auf [] endet, damit php es als array behandelt.
[] dürfen aber nicht enthalten sein in dem namen, weil ich ja per javascript drauf zugreiffe zuvor *wiederhol*

meine frage: wie lös ich das nun?

cYrus
16.01.2002, 18:15
ach du willst mit JS die Werte verändern. Hmm dann kannste das ned met PHP voraus generieren. Bzw. Ich hab keine Lösung mehr parat is halt en blöder Konflikt der beiden Sprachen! Mal schaun vielleicht weiss Bauchi oder sonst wer ne Lösung..

so long
dj-cYrus

Bauchi
16.01.2002, 19:26
ich habs jetzt 3x gelesen .. aber ich checks immer noch nicht *G*

ich werd dann mal heimfahren, ein bier trinken und schauen was sami überhaupt meint *G*

aber sollte nicht so schlimm sein ... ;-)

cYrus
16.01.2002, 21:38
also ich habs jetzt 10 mal gelesen und checke es.. aber ne Lösung hab ich noch ned..

so long
dj-cYrus

Bauchi
16.01.2002, 23:44
also ich hab jetzt ein bisschen rumge-kot-et ... und mir ist nix eingefallen was DEIN Problem löst :evil:

die einzige möglichkeit die ich sehe ist.... den javascript scheiss wegzulassen ...

einige browser (lynx z.b.) mögen eh kein javascript..
und ich pers. bin der meinung, das eine site auch ohne so nen kram auskommen muss ...

sami
17.01.2002, 22:25
mir egal, ob lynx das mag
es handelt sich dabei um eine adressapplikation, von der ich die benutzer und ihre browser genau kenne.
das js is unmöglich weg zu lassen.

keine angst, ich setz js schon ned unnötig ein und wenn ich ne antwort wie &quot;lass es einfach sein&quot; will, werde ich in der linux newsgroup posten. ;)
die frage war ned, was ich weglassen soll, sondern, wie man das problem löst. :P

Bauchi
17.01.2002, 22:33
ich will dir ja kein js verbieten ...

ich bin nur der meinung, das ordentliche sites auch ohne die aktiven hilfen funzen sollten ..


aber ... das ist wohl eher eine philosophie frage .. nicht wahr *G*

sami
17.01.2002, 22:53
wie gesagt, es geht ned einfach um ne &quot;ordentliche site&quot;. da bin ich auch der meinung, dass sie js nur soweit verwenden, dass die site auch ohne die js elemente anständig brauchbar ist.
was ich hier mache würde ich wirklich eher als applikation als einfach als website bezeichnen.

Art
12.02.2002, 21:23
bin ziemlicher newbie, aber vielleicht hilft dir das ja weiter.


<?php
$arr = &quot;werte[]&quot;;
if ($abdamit){
$len = sizeof($werte);
for ($i=0; $i<$len; $i++){
echo &quot;$werte[$i]&quot;;
}
}


echo &quot;<form action=\&quot;$PHP_SELF\&quot; method=\&quot;post\&quot;>&quot;
.&quot;<select multiple name=\&quot;$arr\&quot;>&quot;
.&quot;<option name=\&quot;$arr\&quot; value=\&quot;binding\&quot;>Binding</option>&quot;
.&quot;<option name=\&quot;$arr\&quot; value=\&quot;warsteiner\&quot;>Warsteiner</option>&quot;
.&quot;<option name=\&quot;$arr\&quot; value=\&quot;stauder\&quot;>Stauder</option>&quot;
.&quot;<option name=\&quot;$arr\&quot; value=\&quot;stuttgarter\&quot;>Schwabenbräu</option>&quot;
.&quot;</select>&quot;
.&quot;<input type=\&quot;submit\&quot; value=\&quot;submit\&quot; name=\&quot;abdamit\&quot;></form>&quot;;



?>

irgendwie spinnt das board mit der darstellung der &quot;.

Felix Kaiser
12.02.2002, 23:44
wenn ichs richtig geschnallt hab sollte das helfen:


<?php
function GetMultipleOption($query,$name)
{
$qs = split(&quot;[&]&quot;,strtolower($query));
$res = new Array();
for ($i = 0; $i < count($qs); $i++) {
$x = split(&quot;[=]&quot;,$qs[$i]);
if ($x[0] == $name) array_push($res,$x[1]);
}
return $res;
}

$biere = GetMultipleOption($QUERY_STRING,&quot;bier&quot;);
?>


$biere ist dann ein Array der alle selektierten Biere enthält :)

Bauchi
13.02.2002, 02:05
mhh mal ne doofe frage

wird denn $QUERY_STRING noch unterstützt/verfügbar sein von php4.1.x wenn ich register globals auf off schalte ??

hintergrund:
in den sensiblen bereichen unserer firma, auf die mit webinterfaceses zugegriffen wird, läuft überall php 4.1.1
weil dort bessere features integriert sind, gegen manipulation ... also .. das man $PHP_AUTH_USER nicht einfach als ein &acute;GET-Argument&acute; übergeben kann etc.

Felix Kaiser
13.02.2002, 17:58
Gute Frage, was wäre denn ein Ersatz für $QUERY_STRING? Und gut dass du mich an 4.1.1 erinnerst, kann ich meinen Apache gleich mal patchen und den Mist testen.

Bauchi
13.02.2002, 19:59
keine ahung ... :-/

ich weiss nur das ab 4.1.X durch die sicherheits features natürlich auch viel bequemes wegfällt :-(

werd mir mal die rel. notes reinziehen :-D