Report this Article

Design an Online Chat Room with PHP and MySQL

  • Posted March 10, 2006
  • by
  • in category CGI

  • Comments 0
  • Views 0

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)

Please input your nickname and enter

2. main.php

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

?>

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.

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

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, :)

Share

admin Article's Source: http://articles.org/51050_design_an_online_chat_room_with_php_and_mysql/
Author:


  • Posted On March 10, 2006
  • Published articles 283513

Post Comment