SmashArticles.com
Search For
Keywords  
  Advance Search
Smash Articles | Smash Ebooks | Smash Community | Smash Web Directory | Smash SEO Tools

Articles

Submit Your Article
Latest Articles
Popular Articles
Top Rated Articles
RSS Feed for Articles ROR Feed for Articles

Ebooks

Latest Ebooks
Popular Ebooks
Top Rated Ebooks
Authors
Cover Gallery
RSS Feed for Ebooks ROR Feed for Ebooks

Web Directory

Submit Your Website


Partner

Articles directory

Sign up for Newsletter

Email

 

Add This Article To:
Del.icio.us Digg Google Spurl
Blink Furl Y! MyWeb
Back to CGI

Design an Online Chat Room with PHP and MySQL


by Rory Canyon

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)

User Login

Please input your nickname and enter

 

2. main.php

setcookie("nick",$nick) //use cookie to store user nickname

?>

My Chat Room

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.

Display Messages

//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);

?>

4. speak.php

Speak

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

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
Reviews Be the first to review/rate this Article

Home | Articles | Ebooks | Community | Web Directory | SEO Tools | Submit Your Article | Submit Your Website
Latest Articles | Popular Articles | Top Rated Articles | RSS Feed for Articles | ROR Feed for Articles
Latest Ebooks | Popular Ebooks | Top Rated Ebooks | Ebook Authors | Cover Gallery | RSS Feed for Ebooks | ROR Feed for Ebooks
Site Map | FAQ | Privacy Policy | Disclaimer | Advertise With Us | About SmashArticles.com | Contact Us | links
Partners | Resources
 
Copyright © 2006 SmashArticles.com