For uniformity, each page of the project needs to have access to the
same set of features. Therefore, I placed these things in header.php (Example 21-2).
This is the file that is actually included by the other files, and it, in
turn, includes functions.php. This
means that only a single
required in each file.
header.php starts by calling
session_start. As you’ll
recall from Chapter 12,
this sets up a session that will remember certain values we want stored
across different PHP files. Then the document type is set and the
functions from Chapter 20 are pulled
in from the file osc.js.
With the session started, the program then checks whether the
'user' is currently
assigned a value. If so, a user has logged in and the variable
$loggedin is set to
Based on the value of
if block displays one of two sets of
menus. The nonlogged-in set simply offers options of
Home, Sign up, and Log
in, whereas the logged-in version offers full access to the
project’s features. Additionally, if a user is logged in, her username is
appended in brackets to the page title and placed after the main heading.
We can freely refer to
we want to put in the name, because if the user is not logged in, that
variable is empty and will have no effect on the output.
The styling applied to this file is in the file styles.css (detailed at the end of this chapter); among other things, it creates a wide heading with ...