2016-07-08 7 views
-3

Ich habe eine Seite, die ein Array von $ _GET empfängt. Nehmen wir an, es hat 3 Werte in $ _GET ['types'], die enthalten: 'gut', 'schlecht' und 'hässlich'. Jetzt auf dieser Seite richte ich ein Formular ein und ich muss dieses Array in das Formular durch eine Eingabe übergeben. Vielleicht kann dieses kurze Stück Code helfen zu demonstrieren, was ich zu tun versuche

Wie kann ich dies erreichen?

+0

Ja, und ...? Was macht es, was macht es nicht? – deceze

+1

Sie möchten 3 Eingänge? oder alle 3 Werte in diesem einen Eingang ?? – Jeff

+0

Das ist eine sehr unsichere Praxis, verwenden Sie stattdessen filter_input. – christian

Antwort

1

Arrays im String-Kontext sind einfach das wörtliche Wort Array. Sie sagen $_GET['types'] ein Array ist, deshalb sind Sie diesen HTML zu erzeugen:

<input ... value="Array"> 

Sie

statt
<input name="types[]" value="<?php echo implode(',', $_GET['types']); ?>" /> 

haben sollte.

Aber beachten Sie, dass Sie mit diesem HTML-Ende folgendes haben:

<input ... value="foo,bar,baz"> 

und in diesen $ _GET auf dem Server, wenn die Form des vorgelegt:

$_GET['types'] = array(
    0 => 'foo,bar,baz' 
); 

Wenn Sie diese Werte als SEPARATE wollen Array-Einträge, müssen Sie mehrere Eingabefelder senden:

<input name="types[]" value="foo"> 
<input name="types[]" value="bar"> 
etc... 

die geben Ihnen

$_GET['types'] = array(
    0 => 'foo', 
    1 => 'bar' 
    etc...