The last of the main modules is Example 20-12, rnmessages.php. The program starts by
checking whether a message has been posted in the
'text'. If so, it is inserted into the
rnmessages table. At the same time,
the value of
'pm' is also stored.
This indicates whether a message is private or public. A 0 represents a
public message and 1 is private.
Next, the user’s profile and a form for entering a message are displayed, along with radio buttons to choose between a private or public message. After this, all the messages are shown, depending on whether they are private or public. If they are public, all users can see them, but private messages are visible only to the sender and recipient. This is all handled by a couple of queries to the MySQL database. Additionally, when a message is private, it is introduced by the word “whispered” and shown in italic.
Finally, the program displays a couple of links to refresh the
messages, in case another user has posted one in the meantime, and to
view the user’s friends. The trick using the variables
$name2 is again used so that when you view
your own profile the word Your is displayed instead
of the username.
You can see the result of viewing this program with a browser in Figure 20-7. Note how users viewing their own messages are provided with links to erase any they don’t want.