Header problem

I’ve tried reading other topics on this subject…but I can’t figure it out
I’m getting this:
Warning: Cannot modify header information - headers already sent by (output started at /myaddress/header.php:4) in /myaddress/functions.php on line **3

**functions.php first segment:

<?php function redirect_to( $location = NULL ) {
        if ($location != NULL) {
            header("Location: {$location}");
            exit;
        }
    }

header.php just starts (and ends) with an html tag

<html>
<head>
<style type="text/css">

and the page that gives the error goes

<?php require_once("includes/session.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/connection.php"); ?>
<?php include("includes/header.php"); ?>
<?php confirm_logged_in(); ?>

<html>
    <head>
        <title>Content Management System</title>    

is it cool to have two open and closing html tags? I really can’t figure this one out…
there is no output in sessions.php as you can see here… so I can’t figure out what is causing the error!

<?php session_start();
    
    function logged_in() {
        return isset($_SESSION['user_id']);
    }
    
    function confirm_logged_in() {
        if (!logged_in()) {
            redirect_to("login.php");
        }
    }
?>

please help! I know its been addressed but… :stare: