PHP Grundlagen

Formulare mit GET

Formulare: Wenn HTML-Formulare abgeschickt werden, übernimmt PHP alles Weitere!
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Formulare</title>
  </head>
  <body>
  
    <form action="gesendet.php" method="get">
      Vorname: <input type="text" name="vorname"><br>
      Nachname: <input type="text" name="nachname"><br>
      Alter: <input type="number" name="alter">
      <input type="submit" value="Absenden">
    </form>

  </body>
</html>

Hier wird ein Formular erstellt, welches den Vornamen, den Nachnamen und das Alter entgegen nimmt. Wenn wir auf Absenden klicken, werden die Angaben zu gesendet.php geschickt. Die Angaben werden bei diesem Beispiel mit GET verarbeitet.

GET: Mit GET werden die Formulardaten in der Adresszeile weitergegeben. Nicht geeignet für Passwörter!
http://localhost/projekt/gesendet.php?vorname=Sylvester&nachname=Stallone&alter=74

gesendet.php (mit GET)

<?php		
  $vorname = $_GET["vorname"];
  $nachname = $_GET["nachname"];
  $alter = $_GET["alter"];

  echo "Formular abgeschickt!";

  echo $vorname; // eingegebener Vorname
  echo $nachname; // eingegebener Nachname
  echo $alter; // eingegebenes Alter
?>

Mit der globalen Variable $_GET[""] können wir auf die versendeten Formulardaten zugreifen. Das Argument für GET ist das HTML-Argument name. Hier ist dies "vorname":

Vorname: <input type="text" name="vorname"><br>
GET oder POST: GET ist sichtbar für alle und darf maximal 2000 Zeichen enthalten. POST ist unsichtbar für alle und hat kein Limit. POST sollte vorgezogen werden, jedoch können nur GET-Adressen in der Favoritenzeile gespeichert werden!

Formulare mit POST

POST ist die sichere Variante. Hier der Code:

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Formulare</title>
  </head>
  <body>
  
    <form action="gesendet.php" method="post">
      Vorname: <input type="text" name="vorname"><br>
      Nachname: <input type="text" name="nachname"><br>
      Alter: <input type="number" name="alter">
      <input type="submit" value="Absenden">
    </form>

  </body>
</html>

Der Code ist exakt der Selbe wie vorhin. Ausser diese Zeile mit der Methode "post":

<form action="gesendet.php" method="post">

gesendet.php (mit POST)

<?php		
  $vorname = $_POST["vorname"];
  $nachname = $_POST["nachname"];
  $alter = $_POST["alter"];

  echo "Formular abgeschickt!";

  echo $vorname; // eingegebener Vorname
  echo $nachname; // eingegebener Nachname
  echo $alter; // eingegebenes Alter
?>

Die Adresse enthält diesmal nicht die Variablen und Werte. Alles ist versteckt.

http://localhost/projekt/gesendet.php