O'Reilly logo

Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition by Robin Nixon

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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']); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required