PHP 4.3

5.6 HTTP_GET_VARS und HTTP_POST_VARS

An dieser Stelle möchten wir noch einmal auf die beiden Ihnen bereits bekannten Arrays $HTTP_GET_VARS und $HTTP_POST_VARS zurückkommen. PHP stellt die Schlüssel-/Wertpaare übertragener Formulardaten in Form von assoziativen Arrays zur Verfügung. Das bedeutet für Sie, dass alle Arrayfunktionen, die im weiteren Verlauf dieser Lerneinheit noch behandelt werden, auch für diese Formulardaten-Arrays benutzt werden können. Insbesondere können Sie das gesamte Array einer anderen Variablen zuweisen, was sich in einigen Fällen als sehr nützlich erweisen kann:

Wenn Sie noch nicht sicher sind, mit welcher Methode ein Formular letztendlich arbeiten soll, bietet es sich an, mittels einer if-Anweisung allgemeingültig get- oder post-Variablen zu erfassen. Hier ein kleines Beispiel, mit dem Sie prüfen können, ob post- oder get-Variablen vorhanden sind:

<form action="kaufen.php" method="get">
<!-- get wird nur zum Testen verwendet, später soll hier post stehen. -->

  Vorname: <input type="text" name="vorname"><br>
  Nachname: <input type="text" name="nachname"><br>
  Anschrift: <input type="text" name="anschrift"><br>
  PLZ und Ort: <input type="text" name="plzort"><br>
  E-Mail: <input type="text" name="email"><br>

  <input type="submit" value="Speichern">

</form>

 

<?php

  if(!empty($HTTP_GET_VARS)) {
    $array = $HTTP_GET_VARS;
  } elseif(!empty($HTTP_POST_VARS)) {
    $array = $HTTP_POST_VARS;
  } else {
    echo "Weder POST- noch GET- Variablen vorhanden!<br>";
  }

  if (isset($array)) {
    echo "Bitte prüfen Sie, ob alle Angaben korrekt sind:<br><br>";
    echo "Vorname: " . $array["vorname"] . "<br>";
    echo "Nachname: " . $array["nachname"] . "<br>";
    echo "Anschrift: " . $array["anschrift"] . "<br>";
    echo "PLZ und Ort: " . $array["plzort"] . "<br>";
    echo "Email: " . $array["email"] . "<br>";
  }

?> 

Die abgebildete if-Anweisung prüft beide Variablen auf ihren Inhalt und übergibt die Inhalte der zutreffenden Variablen an das Array $array. Sind beide Variablen leer, wird eine Fehlermeldung ausgegeben.

Natürlich könnten Sie auch sofort mit den Variablen $HTTP_GET_VARS und $HTTP_POST_VARS als Arrays arbeiten. In vielen Skripten bietet es sich jedoch an, die Daten in ein neues Array zu übernehmen. Einerseits ersparen Sie sich so eine umständliche Ansprache der Werte im Verlauf eines längeren Skripts und zum anderen können Sie so im Bedarfsfall auf die Orginaldaten zurückgreifen.

Kommentare (1)

papua am 21.03.2016 20:22:44

eigentlich was mir im Herzen liegt ist die Übergabe per href von mehreren Variablen an eine aufzurufende php Datei. Z.B.
<a href="blabla.php?Bibliothek=$Bibliothek & system = $system & klasse = $klasse"> </a>
Diese code liegt ebenso in php Datei. Wo bleibt dann die $_POST?
Oder könnte die Übergabe bzw. Aufruf so aussehen:
<a href="blabla.php?Bibliothek=<?php $_POST['Bibliothek'] ?> & system = <?php $_POST['system'] ?> & klasse = <?php $_POST['klasse'] ?>"> </a>

Ihr Kommentar

Name