# Alle übergeben Variablen auslesen



## deinertsche (28. August 2003)

Hi!
Ich erstelle gerade für ein cms einen Editor mit dem man Formulare erstellen kann.

Das formular mit dem namen test.php wird beim klicken auf den Submit-button an die Seite "blabla.php" weitergeleitet (<form action=blabla.php>).

In dieser Seite blabla.php möchte ich nun auslesen, welche Variablen alle von dem formular test.php übergeben wurden. Da test.php ja vom enduser mit dem online-editor erstellt werden kann, weiss ich nicht welche Variablen übergeben wurden.

Gibt es eine Möglichkeit auszulesen, welche Variablen alle übergeben wurden?


----------



## Karl Förster (28. August 2003)

Generell kannst du alle übergebenen Variablen in den folgenden Arrays finden, die automatisch bereitgestellt werden:

* $_GET["variablenname"] *
beinhaltet alle variable, die per GET übergeben wurden.

* $_POST["variablenname"] *
beinhaltet alle variable, die per POST übergeben wurden.

* $_REQUEST["variablenname"] *
beinhaltet alle variable, die per GET sowohl als auch über POST übergeben wurden.



Generell würde ich immer so auf die Variable zugreifen. Dann hast du gleich noch das Problem mit RegisterGlobals = off gelöst.


----------



## deinertsche (28. August 2003)

Kapier ich leider nicht. *binzudoof* Ich weiss ja eben die Variablennamen nicht. 

ich bräuchte ein array indem alle übergebenen Variablen drinnestehen.

Also so in etwa:

echo $_POST[0];
echo $_POST[1];

aber leider gibt er auf diese Weise nix aus.

trotzdem Danke


ps: das mit register-globals ist mir klar...


----------



## SepteraCore (28. August 2003)

vielleicht kannst du alle mit einer schleife auslesen...
foreach ($_REQUEST as $value=>$key) oder so 
kam mir grad so die idee, hab es noch nie probiert.


----------



## Karl Förster (28. August 2003)

Klar, mit foreach kannst du es auslesen. Ich mach es meist so:


```
while (list ($key, $value) = each ($_REQUEST))
{
  echo $key." => ".$value."<br />\n";
}
```

Das schreibst du mal in eine Datei und übergibst an die beliebige Variablen.


----------



## deinertsche (28. August 2003)

habs geschafft....

$array_keys_names = array_keys($_POST);

so sieht die Lösung aus


----------



## deinertsche (28. August 2003)

Danke, Karl das ist sogar noch besser...

perfekt!


----------



## SonicBe@m (28. August 2003)

Aber übersichtlicher ist doch wohl

```
<?
foreach($_GET as $type => $value)
   echo "\$_GET['$type'] == \"$value\";<br>";
?>
```
das würde bei der url z.b. test.php?test=temp&schade=wieso

```
$_GET['test'] == "temp";
$_GET['schade'] == "wieso";
```
ausgeben


----------

