What are some best practices for creating a newsletter subscription script in PHP?

When creating a newsletter subscription script in PHP, it is important to validate user input to ensure that the email address provided is valid and unique. Additionally, you should securely store the email addresses in a database to comply with data protection regulations. Lastly, consider implementing double opt-in functionality to confirm the subscription.

<?php

// Validate email address
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

if (!$email) {
    echo 'Invalid email address';
    exit;
}

// Check if email already exists in database
// Code to connect to database and query for email address

if ($existingEmail) {
    echo 'Email address already subscribed';
    exit;
}

// Insert email address into database
// Code to connect to database and insert email address

if ($inserted) {
    echo 'Subscription successful';
} else {
    echo 'Error subscribing to newsletter';
}

?>