Search code examples
phppostdata

Is `if($_POST)` a reliable means of checking if a script has been posted?


As per the title: is if($_POST) reliable?

Is it reliably true even if no data was posted but the HTTP POST method was used?

Is if('post' === strtolower($_SERVER['REQUEST_METHOD'])) a more reliable method, or is it overkill?


Solution

  • No.. because:

    array() == false

    So if no data is posted, the condition will turn out false. So check against the REQUEST_METHOD. Note that it would have taken you less time to test this, than for me to type this out.