What are some best practices for creating a preview page in PHP before saving data to a database?

When creating a preview page in PHP before saving data to a database, it is important to validate and sanitize the user input to prevent any potential security risks. Additionally, you should display the user input on the preview page for them to review before submitting it to the database. Finally, make sure to provide clear instructions on how to proceed from the preview page, whether it is to confirm and save the data or to make any necessary changes.

<?php
// Retrieve user input from form submission
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

// Validate and sanitize user input
$name = htmlspecialchars($name);
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
$message = htmlspecialchars($message);

// Display user input on preview page
echo "<h2>Preview:</h2>";
echo "<p>Name: $name</p>";
echo "<p>Email: $email</p>";
echo "<p>Message: $message</p>";

// Provide instructions on how to proceed
echo "<form action='save_data.php' method='post'>";
echo "<input type='hidden' name='name' value='$name'>";
echo "<input type='hidden' name='email' value='$email'>";
echo "<input type='hidden' name='message' value='$message'>";
echo "<button type='submit'>Confirm and Save Data</button>";
echo "</form>";
?>