Variablen mit GET übergeben

crushedice

Grünschnabel
Ich habe ein Eingabeformular mit einer dynamischen Anzahl von Eingabefeldern, dessen Variablen durch eine Schleife ermittelt werden und an eine andere Datei zur Verarbeitung übermittelt werden sollen. Die Variablen liegen in folgender Weise vor:

$variable[$a]
(Wobei $a in einer Schleife hochgezählt wird, so das Variablen von [0] bis [n] entstehen)

Da auf dem Server (Strato) aber scheinbar Register_Globals=OFF gesetzt ist, funktioniert die Übergabe nicht mit der Methode "post". :(
Bei der Übergabe der Variablen mit der Methode "get" habe ich aber Probleme mit den Variablen in den Eckigen Klammern.

$variable=$_GET['variable[$a]'];

Dummerweise wird die Variable $a nicht als Variable erkannt, so das ich nur feste Zuordnungen übertragen kann.

Wie kann ich dieses Problem lösen?

Gruß,
crushedice
 
Vorweg: Über URL können nur Parameter und keine Variablen übergeben werden.


Zu deinem Anliegen: Probier mal Folgendes: $variable = $_GET['variable'][$a];
 
Ich habe jetzt gelesen, das man bei der Einstellung "Register_Globals=OFF" auch mit "post" arbeiten kann.

Würde das dann genauso funktionieren?
Was ist eigentlich prinzipiell besser?

Gruß,
crushedice
 
Gudy hat gesagt.:
würde nicht wetten aber so müsst es gehn....

$variable=$_GET[variable[$a]];

Die von Gumbo bereits erwähnte Schreibweise ist AFAIK die einzig korrekte:
PHP:
$variable = $_GET['variable'][$a];
Für Post würde das so aussehen:
PHP:
$variable = $_POST['variable'][$a];

Register Globals hat auf diese superglobalen Variablen ansich keinen Einfluss.

Man kann nicht wirklich eine der beiden Methoden als die bessere bezeichnen, da beide unterschiedliche Eigenschaften besitzen die je nach Verwendung Vor- oder Nachteile sein können.
Wenn du viele und vor allem große Variablen als Parameter übergeben willst solltest du lieber Post nehmen.


MfG. xxenon
 
Zurück