English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundlagenanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

PHP-GET und POST

In diesem Tutorial lernen Sie, wie Sie Informationen mit den HTTP-GET- und POST-Methoden an den Server senden und wie Sie Informationen mit PHP abrufen.

Methode zur Übermittlung von Informationen an den Server

Webbrowser verwenden in der Regel eine der beiden HTTP-Methoden (GET und POST) zur Kommunikation mit dem Server. Beide Methoden übermitteln Informationen auf unterschiedliche Weise und haben verschiedene Vorteile und Nachteile, wie nachstehend beschrieben.

GET-Verfahren

Bei dem GET-Verfahren werden Daten als URL-Parameter gesendet und normalerweise durch ein Zeichensetzung von Namen und Wertpaaren durchgetrennt. Eine URL mit GET-Daten sieht in der Regel so aus:

http://www.example.com/action.php?name=john&age=24

Der fette Teil der URL ist das GET-Parameter, während der kursivierte Teil der Wert dieser Parameter ist. Durch Verbinden mit dem Ampersand (&) können mehrere Parameter=Werte in der URL eingebettet werden. Es können nur einfache Textdaten mit dem GET-Verfahren gesendet werden.

Vorteile und Nachteile des GET-Verfahrens

  • Da die gesendeten Daten im GET-Verfahren in der URL angezeigt werden, kann eine bestimmte Abfragezeichenfolgestruktur verwendet werden, um die Seite zu einem Lesezeichen hinzuzufügen.

  • Das GET-Verfahren ist nicht für den Transport sensibler Informationen geeignet, wie Benutzername und Passwort, da diese Informationen vollständig im URL-Abfragezeichenfolge sichtbar sind und möglicherweise im Speicher des Clientbrowsern gespeichert werden können.

  • Da das GET-Verfahren die Daten den Serverumgebungsvariablen zuweist, ist die Länge der URL begrenzt. Daher gibt es eine Begrenzung für die zu sendenden Gesamtdaten.

PHP bietet den Superglobalen Variable $_GET, um auf alle Informationen zuzugreifen, die über die URL gesendet oder über ein HTML-Formular mit dem Methode="GET"-Wert übermittelt werden.

!DOCTYPE html
<html>
<head>
    <title>Online Beispiel PHP GET Methode</title>
</head>
<?php
if(isset($_GET["name"])){
    echo "<p>Hi, " . $_GET["name"] . "</p>";
}
?>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

POST-Methode

Bei der POST-Methode werden die Daten zusammen mit dem Verarbeitungs-Skript in einer separaten Kommunikation an den Server gesendet. Die über POST gesendeten Daten sind in der URL unsichtbar.

Vorteile und Nachteile der POST-Methode

  • Es ist sicherer als GET, da die Informationen der Benutzer niemals in der URL-Abfragezeichenfolge oder im Serverprotokoll sichtbar sind.

  • Die Datenmenge, die übertragen werden kann, ist begrenzt, und Textdaten sowie binäre Daten (Dateiupload) können über POST gesendet werden.

  • Da die mit der POST-Methode gesendeten Daten in der URL unsichtbar sind, kann keine bestimmte Suchanfrage verwendet werden, um eine Lesezeichen für die Seite zu erstellen.

Wie $_GET ähnlich bietet PHP eine weitere superglobale Variable $_POST, um auf alle Informationen zuzugreifen, die durch die POST-Methode gesendet oder durch HTML-Formulare mit method="POST" eingereicht werden.

!DOCTYPE html
<html>
<head>
    <title>Online-Beispiel PHP POST-Methode</title>
</head>
<?php
if(isset($_POST["name"])){
    echo "<p>Hi, " . $_POST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

$_REQUEST Variable

PHP bietet eine weitere superglobale Variable $_REQUEST, die die Werte der Variablen $_GET und $_POST sowie den Wert der superglobalen Variable $_COOKIE enthält.

!DOCTYPE html
<html>
<head>
    <title>Online-Beispiel PHP $_REQUEST-Variable</title>
</head>
<?php
if(isset($_REQUEST["name"])){
    echo "<p>Hi, " . $_REQUEST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

Sie werden im fortgeschrittenen Teil mehr über PHP cookieundFormularverarbeitungMehr Informationen.

Hinweis:Die superglobalen Variablen $_GET, $_POST und $_REQUEST sind integriert und sind in allen Bereichen des Skripts stets verfügbar.