What are the best practices for handling form submissions and URL manipulation in PHP?

When handling form submissions in PHP, it is important to sanitize and validate user input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. Additionally, when manipulating URLs in PHP, it is crucial to properly encode and decode parameters to avoid errors or unexpected behavior.

// Handling form submissions
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = htmlspecialchars($_POST["username"]);
    $password = htmlspecialchars($_POST["password"]);
    
    // Validate input
    if (!empty($username) && !empty($password)) {
        // Process form data
    } else {
        // Display error message
    }
}

// URL manipulation
$param = "example parameter";
$encoded_param = urlencode($param);
$decoded_param = urldecode($encoded_param);

echo "Encoded parameter: " . $encoded_param . "<br>";
echo "Decoded parameter: " . $decoded_param;