Websiteentwicklung: PHP: $ POST


Der Array $_POST[] enthält den Inhalt von Variablen aus einem anderen Dokument, und nutzt diesen dann in dem vorhandenem Dokument.


$PHPVariable = $_POST['Variablenname'];


Beispiel: der Radius eines Kreises würde in einem HTML Document in ein Formular eingegeben, das diesen mit der Methode POST an das in dem Attribut Action genannte PHP-Dokument übergibt.

In diesem Formular kann der User den Radius des Kreises in ein Textfeld eintragen und diesen durch betätigen des Submitbuttons an das PHP Dokument senden.

<!DOCTYPE html>
<html>
<head><title>Dateneingabe</title></head>
<body>
<form name="Radiuseingabe" action="kreis.php" method="post">
  Bitte den Radius eingeben:<br>
  <input type="text" name="r"><br>
  <input type="submit" value="Daten senden" >
</form>
</body>
</html>

Dann wird der Inhalt der Variablen (des Textfeldes) im PHP-Dokument, dessen Code in ein HTML-Grundgerüst eingebettet ist, verarbeitet:

<!DOCTYPE html>
<head>
<title>Verarbeitung und Ausgabe des Ergebnisses</title>
</head>
<body>
<?php
// Default-Wert setzen und durch Benutzereingabe überschreiben, falls diese gültig ist
$radius = 0;
if (isset($_POST['r'])) { // wurde überhaupt ein Wert angegeben…
  if (is_numeric($_POST['r'])) { // und ist er eine Nummer?
    if (0 < $_POST['r']) { // und ist der Radius positiv?
      $radius = $_POST['r']; // dann wird der Wert mit der Methode $_POST übernommen 
    }
  }
}

if (0 != $radius) {  // die ganze Berechnung soll nur ausgeführt werden, wenn wir eine Eingabe übernommen haben 
  $umfang = 2*$radius*3.14; // Berechnung des Umfangs (2∏r), für ∏ wird 3,14 als Näherungswert genutzt
  $flaeche = $radius*$radius*pi(); // Berechnung der Fläche (r*r*∏), für ∏ wird die (genauere) Funktion pi() genutzt
  ?>
  Hier kommt das Ergebnis:<br>
  Der Umfang des Kreises ist: <?php echo $umfang; ?><br>
  Die Fläche des Kreises ist: <?php echo $flaeche;
}
else {
  echo 'Kein gültiger Wert für den Radius r angegeben'; 
}
?>
</body>
</html>

Hierbei ist es von entscheidender Bedeutung, dass sich das Eingabedokument und das verarbeitende PHP-Dokument im selben Verzeichnis auf dem Server befinden, wenn nicht der Pfad angegeben werden soll, sondern im Tag action="Dateiname.php" nur der Dokumentenname stehen soll.