What is the best way to create a date range selection in PHP that is not limited to a specific year?

When creating a date range selection in PHP that is not limited to a specific year, you can use the DateTime class to handle dates. By allowing users to input start and end dates, you can validate and process the date range without restricting it to a specific year.

// Get start and end dates from user input
$start_date = isset($_POST['start_date']) ? $_POST['start_date'] : null;
$end_date = isset($_POST['end_date']) ? $_POST['end_date'] : null;

// Validate the dates
if ($start_date && $end_date) {
    $start_date_obj = DateTime::createFromFormat('Y-m-d', $start_date);
    $end_date_obj = DateTime::createFromFormat('Y-m-d', $end_date);

    if ($start_date_obj && $end_date_obj) {
        // Process the date range
        echo "Start Date: " . $start_date_obj->format('Y-m-d') . "<br>";
        echo "End Date: " . $end_date_obj->format('Y-m-d');
    } else {
        echo "Invalid date format";
    }
} else {
    echo "Please enter both start and end dates";
}