messages.php

The last of the main modules is Example 21-11, messages.php. The program starts by checking whether a message has been posted in the POST variable 'text'. If so, it is inserted into the messages 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 sending a private or public message. After this, all the messages are shown: 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 $name1 and $name2 is again used so that when a user views his 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 21-7. Note how users viewing their own messages are provided with links to erase any they don’t want to preserve.

Example 21-11. messages.php
<?php // messages.php include_once 'header.php'; if (!$loggedin) die(); if (isset($_GET['view'])) $view = sanitizeString($_GET['view']); ...

Get Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.