Лучшее, что вы можете сделать, это отделить логику от представления. Использование подхода MVC, когда вы заботитесь обо всей логике в одном файле, а затем отображаете результат того, что вы сделали в слое только для презентации.
Кроме того, если вы хотите сохранить свой подход, вам просто нужно выполнить назначения до того, как header.php будет включен . Итак, предположим, что вы хотите изменить заголовок своей страницы, это то, что вам нужно сделать:
index.php
<?php
$title = 'My Page Title';
$description = 'My meta description';
$keywords = 'keyword list';
include('header.php');
?>
header.php
<html>
<head>
<title>
<?php echo $title; ?>
<title>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
</head>
<body>
Это так просто. Просто имейте в виду, Вы не можете назначать задания странице / сценарию, ПОСЛЕ того, что было включено
Опять же, я пытаюсь вам ответить, не обязательно предлагая такой подход. Если в вашем приложении всего пара страниц, это нормально. Если он больше (или будет), то что-то вроде шаблона MVC (шаблон двухэтапного просмотра) будет лучшей альтернативой IMHO.