Search
Recommended Sites
Related Links






   

Informative Articles

ADD GRAPHICS TO YOUR WEBSITE - without losing your mind!
We've heard it over and over again - adding graphics to a website is a GOOD thing. They can generally make your site more appealing, illustrate points or products, and provide creative icons for people to click through for more information. So you...

How to Build a Web Site that Works...Even for a Safari Hobby!
My life's greatest passion is a safari hobby. And what would that be, you ask. ...Simply the conservation of wildlife and the environment. I do this after hours from my 7 to 5 job. And that's how this story started. Read this story to learn how to...

"How To Keep Your Visitors 10 Times Longer On Your Web Site"
Everyone knows this: the longer your visitors stay on your web site, the more likely they are to buy something. The longer they stay, the more trust they develop in your business, the more comfortable they will become ordering from you. So, how...

The Smaller, the Better: Avoiding Graphical Overload
When you're designing your website, it's easy to start loading it up with graphics, creating images that you think look good and piecing them together to make a design. While it's a tempting way to do things, you have to try to avoid it as...

Validating Numerical Input with JavaScript
What? Make a mistake entering data? Who me? NO WAY! Right. Every form of data input by a user should be validated in some form or fashion. If you get clean data in, you won't get garbage out. This tutorial is going to explain how to validate ...

 
Design an Online Chat Room with PHP and MySQL

In this article, you will learn how to design and develop a simple online chat room with PHP and MySQL. This tutorial explains every steps of the development, including both database design and PHP programming. Basic computer skills and knowledge of HTML and PHP are required. Ok, let's begin now.
Step 1: Design Database Table. Create table "chat" in MySQL database to store basic chat information: chtime (chat time), nick (user nickname) and words (chat message, less than 150 characters)
mysql> CREATE TABLE chat
-> chtime DATATIME,
-> nick CHAR (10) NOT NULL,
-> words CHAR (150);
Step 2: Design Structure. This simple online chat room includes the following four sections: user login, message display, message input and a main frame integrating the display and input sections. Thus, it needs the following four files to work: login.php, main.php, display.php and speak.php.

Step 3: Write the code
1. login.php (just a HTML form)
<html>
<head>
<title>User Login</title>
</head>
<body>
Please input your nickname and enter


<form action="main.php" method="post" target="_self">
<input type="text" name="nick" cols="20">
<input type="submit" value="login">
</form>
</body>
</html>
2. main.php
<?
setcookie("nick",$nick) //use cookie to store user nickname
?>
<html>
<title>My Chat Room</title>
<frameset rows="80%,*">
<frame src="display.php" name="chatdisplay">
<frame src="speak.php" name="speak">
</frameset>
</html>
3. display.php
This file is used to get message records from database and display the results. To keep the size of database, old messages are deleted and only the newest 15 messages are displayed.
<html>
<head>
<title>Display Messages</title>
<meta http-equiv="refresh" content="5;url=display.php">
</head>
<body>
<?
//connect to mysql server, server name: main, database username: root
$link_ID=mysql_connect("main","root");
mysql_select_db("abc"); //abc is the database name
$str="select * from chat ORDER BY chtime;" ;
$result=mysql_query($str, $link_ID);
$rows=mysql_num_rows($result);
//get the latest 15 messages
@mysql_data_seek($resut,$rows-15);
//if the number of messages<15, get all of the messages
if ($rows<15) $l=$rows; else $l=15; for ($i=1;$i<=$l; $i++) {
list($chtime, $nick, $words)=mysql_fetch_row($result);
echo $chtime; echo " "; echo $nick; echo":" ; echo $words; echo "
";
} //delete the old messages(only keep the newest 20 only)
@mysql_data_seek($result,$rows-20);
list($limtime)=mysql_fetch_row($result);
$str="DELETE FROM chat WHERE chtime<'$limtime' ;" ;
$result=mysql_query($str,$link_ID);
mysql_close($link_ID);
?>
</body>
</html>
4. speak.php
<html>
<head>
<title>Speak</title>
</head>
<body>
<?
If ($words)
{ $link_ID=mysql_connect("main","root");
mysql_select_db("abc"); // abc is the database name
$time=date(y).date(m).date(d).date(h).date(i).(date(s); //get current time
$str="INSERT INTO chat(chtime,nick,words) values ('$time','$nick','$words');" ;
mysql_query($str,$link_ID); //save message record into database
mysql_close($link_ID); )
?>
//the following is the message input form
<form action="speak.php" method="post" target=" _self">
<input type="text" name="words" cols="20">
<input type="submit" value="Speak">
</form>
</body>
</html>
Now, you have finished the design and coding of a simple online chat system. Put all the files into your website root and see how it works, :)
About the Author
Rory Canyon is the founder of ScriptMenu.com, a free web directory for PHP, ASP, ASP.NET, PERL, XML, Java, JavaScript, Flash, CFML, Python and other web programming resources. For more information, visit http://www.scriptmenu.com

Sign up for PayPal and start accepting credit card payments instantly.