Überprüfen ob Post in PHP vorhanden ist

Habdul Hazeez 30 Januar 2023
  1. Mit isset() prüfen, ob $_POST existiert
  2. Prüfen Sie mit der Funktion Empty(), ob $_POST existiert
  3. Prüfen Sie, ob $_POST existiert, mit der Funktion isset() und der Prüfung auf leere Zeichenketten
  4. Prüfen Sie, ob $_POST mit Negationsoperator existiert
Überprüfen ob Post in PHP vorhanden ist

[PHP $_POST] ist eine superglobale Variable, die Schlüssel-Wert-Paare von HTML-Formulardaten enthalten kann, die über die Post-Methode übermittelt werden. In diesem Artikel lernen wir verschiedene Methoden kennen, um zu überprüfen, ob $_POST existiert und einige Daten enthält. Diese Methoden verwenden isset(), empty() und die Prüfung auf leere Zeichenketten.

Mit isset() prüfen, ob $_POST existiert

Die Funktion isset() ist eine in PHP eingebaute Funktion, die prüfen kann, ob eine Variable gesetzt ist und nicht NULL. Außerdem funktioniert es mit Arrays und Array-Schlüsselwerten. PHP $_POST enthält Array-Schlüsselwerte, also kann isset() damit arbeiten.

Um zu prüfen, ob $_POST existiert, übergeben Sie es als Wert an die Funktion isset(). Gleichzeitig können Sie überprüfen, ob ein Benutzer eine bestimmte Formulareingabe übermittelt hat. Wenn ein Benutzer eine Formulareingabe absendet, ist diese in $_POST verfügbar, auch wenn sie leer ist.

Der folgende HTML-Code bietet uns etwas, mit dem wir arbeiten können. Es hat ein Formularfeld mit einem vorbelegten Namensfeld.

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
	<label>First Name</label>
	<input type="text" name="first_name" value="DelftStack">
	<input type="submit">
</form>

Das folgende PHP prüft, ob $_POST existiert, wenn Sie auf die Schaltfläche submit klicken:

<?php
    if (isset($_POST['first_name'])) {
        $first_name = $_POST['first_name'];
        echo $first_name;
    }
?>

Ausgabe:

DelftStack

Prüfen Sie mit der Funktion Empty(), ob $_POST existiert

Sie können die Existenz von $ _POST mit der empty()-Funktion prüfen. Aber die Funktion empty() gibt in den folgenden Fällen wahr zurück:

  • Wenn alle $_POST-Werte leere Zeichenketten sind
  • Das Argument ist Null

Der folgende HTML-Code ist wie der vorherige, diesmal ist der Name anders:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Mathias Jones">
    <input type="submit">
</form>

Der nächste Codeblock zeigt Ihnen, wie Sie mit der Funktion empty() nach $_POST suchen:

<?php
    if (!empty($_POST)) {
        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?>

Ausgabe:

Mathias Jones

Prüfen Sie, ob $_POST existiert, mit der Funktion isset() und der Prüfung auf leere Zeichenketten

Die Funktion isset() gibt true zurück, wenn der Wert von $_POST eine leere Zeichenfolge ist, aber sie gibt false für NULL-Werte zurück. Wenn Sie versuchen, die Werte von isset($_POST['x']) = NULL und isset($_POST['x']) = '' auszugeben, erhalten Sie in beiden Fällen eine leere Zeichenfolge.

Als Ergebnis müssen Sie nach leeren Zeichenketten suchen. Die Kombination von isset() und Überprüfung auf leere Zeichenketten eliminiert die Möglichkeit, dass $_POST leere Zeichenketten enthält, bevor Sie seine Daten verarbeiten.

Im nächsten Codeblock haben wir einen HTML-Code, mit dem wir arbeiten können:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Mertens Johanssen">
    <input type="submit">
</form>

Prüfen Sie, ob $_POST existiert:

<?php
    if (isset($_POST['first_name']) && $_POST['first_name'] !== "") {

        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?

Ausgabe:

Mertens Johanssen

Prüfen Sie, ob $_POST mit Negationsoperator existiert

Der Negationsoperator (!) verwandelt eine wahre Aussage in falsch und eine falsche Aussage in wahr. Daher können Sie mit dem Negationsoperator prüfen, ob $_POST existiert. Um nach $_POST zu suchen, stellen Sie ihm in einer if-else-Anweisung den Negationsoperator voran.

Im ersten Teil können Sie, wenn $_POST leer ist, die p-Verarbeitung seiner Daten stoppen. Im zweiten Teil der Bedingung können Sie die Daten verarbeiten.

Zuerst das HTML:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Marcus Alonso">
    <input type="submit">
</form>

Der nächste Codeblock demonstriert die Überprüfung, ob $_ POST mit dem Negationsoperator existiert.

<?php
    if (!$_POST) {
        echo "Post does not exist";
    } else {
        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?>

Ausgabe:

Marcus Alonso
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

Verwandter Artikel - PHP Post