Assuming $_POST will always contain your POST data

It is generally a good practice to check for the existence of the data you need before using it in your code. In the case of the $_POST superglobal, it is used to access data submitted to the server via an HTTP POST request. This means that it will only contain data if the request was a POST request and if the data was properly sent and received by the server.

Assuming that $_POST will always contain the necessary data is a bad practice as it can lead to unexpected behavior and errors in your code. If you use the data from $_POST without first checking that it is set, your code will generate errors if the data is not present.

    // $_POST data is present and can be used
    // Access the data by $_POST['name']
    // $_POST data is not present, take necessary action

It’s also important to note that while you are expecting certain values in the post data, you also have to validate the data received and make sure that it’s of the expected format and data-type. Sanitizing the data is also very important, before using it.

In this case, the isset() function is used to check if the $_POST[‘submit’] variable is set and has a value. If it is set, the code inside the if block will be executed, otherwise the code inside the else block will be executed.

This is a best practice to make your code more robust and reliable, and will help you avoid unexpected errors and bugs.

You can also use empty() function to check if the post variable has a value or not. Empty returns true if the variable has no value or is not set, otherwise it returns false.