Überprüfen ob Post in PHP vorhanden ist
-
Mit
isset()
prüfen, ob$_POST
existiert -
Prüfen Sie mit der Funktion
Empty()
, ob$_POST
existiert -
Prüfen Sie, ob
$_POST
existiert, mit der Funktionisset()
und der Prüfung auf leere Zeichenketten -
Prüfen Sie, ob
$_POST
mit Negationsoperator existiert
[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 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