Realize that include() is the equivalent to just copy and pasting the code from th eother file into that one, so that should work fine.
Therefore, we can assume that it's not a problem with the include() statement and the variables right? Right.
BUT it IS A PROBLEM when you use variables that are not local to the function INSIDE THE FUNCTION. The variables $site_url, $site_name, $site_start_date are only set OUTSIDE OF THE FUNCTION, and are not set at all inside the function.
Either define them in the function, pass them to the function as parameters, or make them global, ie:
$varname = "keith";
function functionanme () {
global $varname;
}