rnmessages.php

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 POST variable '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 $name1 and $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.

The messaging module
Figure 20-7. The messaging module ...

Get Learning PHP, MySQL, and JavaScript 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.