Are there any alternative, more elegant solutions to handling cookies and redirects in PHP for this scenario?

Issue: The current code uses header redirects to handle cookies in PHP, which can lead to headers already sent errors. A more elegant solution would be to use output buffering to prevent these errors and ensure the cookies are set before the redirect.

<?php
ob_start(); // Start output buffering

// Set cookies
setcookie("username", "JohnDoe", time() + 3600, "/");
setcookie("email", "johndoe@example.com", time() + 3600, "/");

ob_end_flush(); // Flush output buffer and send cookies

// Redirect
header("Location: dashboard.php");
exit;
?>