Q:

Calling PHP functions through another file

I created a simple sample php file for display some function outputs. here is the code..
<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');

switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('Joel');
        break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('Duck');
        break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}

function hello($name){
    return $name;
}

function pageHeader($header,$onoff){
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}

echo $printHeader;
echo $printName;

?>

This code is working fine without any problems.
When I call 'example.com/php/tipo34.php?red', it shows on the screen:
redpage header
Joel

And when I call 'example.com/php/tipo34.php?blue' it shows on the screen:
Duck

I tried to put the below functions inside of another php file called tipo34-req.php and received the following error:
Fatal error: Call to undefined function pageHeader() in C:\wamp\www\php\tipo34.php on line 8

The code I tried:
<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');
switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
        break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
        break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}

include 'tipo34-req.php';

echo $printHeader;
echo $printName;

?>

tipo34-req.php code:
<?php
function hello($name){
    global $name;
    return $name;
}

function pageHeader($header,$onoff){ global $header, $onoff
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}
?>

How do I solve this problem? Using the function directly on the file works, but when I put the functions in another php file, it throws the error.
Thanks.

A:

Include your file above its contents usage. PHP is unaware of the functions since they are included later in the code. 
include 'tipo34-req.php';

switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
    break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
    break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
    break;

}

echo $printHeader;
echo $printName;

?>

