Wie erkennt man, ob $_POST gesetzt ist?

Lesezeit: 2 Minuten

Benutzer-Avatar
Lisa Miskowski

Ich möchte wissen, wie man erkennt, ob $_POST gesetzt ist oder nicht.

Momentan erkenne ich es so:

if(isset($_POST['value']))

Aber ich schaue nicht mehr, ob Wert gesetzt ist. Grundsätzlich funktioniert jeder POST.

if(isset($_POST))

Ich bin mir nicht sicher, wie PHP damit umgeht. Vielleicht gibt isset($_POST) immer true zurück, da es sich um ein globales PHP handelt?

Grundsätzlich, wie kann ich das tun?

  • $_POST begleitet immer eine Header-Anforderung, und Wille Werte enthalten. Vielleicht willst du $_SERVER['REQUEST_METHOD'] == 'POST'.

    – BenM

    5. März 2013 um 9:55 Uhr


  • Wollen Sie herausfinden, ob $_POST enthält irgendein Daten oder ob die Anfrage die HTTP-POST-Methode verwendet hat?

    – verzeihen

    5. März 2013 um 9:57 Uhr

Versuche es mit:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {}

um zu überprüfen, ob Ihr Skript gepostet wurde.

Falls zusätzliche Daten übermittelt wurden, $_POST wird nicht leer sein, sonst wird es.

Sie können verwenden empty Methode, um zu prüfen, ob sie Daten enthält.

if ( !empty($_POST) ) {}

  • Seit $_POST ist immer vorhanden if ($_POST) wird gut tun, keine Notwendigkeit für empty.

    – verzeihen

    5. März 2013 um 9:58 Uhr

  • Beachten Sie, dass if ( !empty($_POST) ) {} funktioniert möglicherweise nicht, wenn die Daten nicht in Schlüssel-Wert-Paaren gesendet werden. Sie müssen es vielleicht sehen $HTTP_RAW_POST_DATA In diesem Fall

    – Ranti

    5. März 2013 um 9:59 Uhr

  • @DipeshParmar Beschreiben Sie Ihren Fall.

    – hsz

    5. März 2013 um 10:03 Uhr

  • Also welches sollte ich für eine gute Übung verwenden? Leere oder Serveranforderungsmethode?

    – Lisa Miskowski

    5. März 2013 um 10:05 Uhr

  • @LisaMiskovsky Wenn Sie überprüfen möchten, ob das Skript gepostet wurde, verwenden Sie REQUEST_METHOD – Es ist eine gute Übung. Wenn Sie zusätzlich prüfen möchten, ob Daten gebucht wurden, aktivieren Sie das Kontrollkästchen $_POST Variable.

    – hsz

    5. März 2013 um 10:06 Uhr

Benutzer-Avatar
Salmann A

$_POST ist ein Array. Du kannst nachschauen:

count($_POST)

Wenn es größer als Null ist, bedeutet dies, dass einige Werte gebucht wurden.

Eine einfache Lösung kann durchaus darin bestehen, einfach zu verwenden

if (!empty($_POST))

Benutzer-Avatar
Dipesch Parmar

Verwenden Sie es einfach wie unten. weil es super global es wird also immer wahr zurückgegeben, wenn nach überprüft wird isset und empty.

<?php
    if($_POST)
    {
        echo "yes";
    }
?>

Ich weiß, dass diese Antwort bereits beantwortet wurde, aber hier ist eine einfache Methode, die ich in einem meiner Kurse verwende, um herauszufinden, ob der Beitrag gesetzt wurde (vielleicht findet es jemand nützlich):

public function isPost($key = null) {

    if ($_SERVER['REQUEST_METHOD'] != 'POST') {

        return false;

    }

    if (!empty($key)) {

        return isset($_POST[$key]);

    }

    return true;

}

Der beste Weg, um $_POST zu überprüfen

<?php 
if(count($_POST)){}

1136500cookie-checkWie erkennt man, ob $_POST gesetzt ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy