header.php
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 include is
required in each file.
header.php starts by calling
the function 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
JavaScript O, S, and C
functions from Chapter 20 are pulled
in from the file osc.js.
With the session started, the program then checks whether the
session variable 'user' is currently
assigned a value. If so, a user has logged in and the variable $loggedin is set to TRUE.
Based on the value of $loggedin,
an 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 $user wherever
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access