T-XU.COM      
Home |
  Home>Computer Programming>CGI>
Design an Online Chat Room with PHP and MySQL
By Rory Canyon        [Hits: 11154]



In this article, you will learn how to design and develop asimple online chat room with PHP and MySQL. This tutorialexplains every steps of the development, including both databasedesign and PHP programming. Basic computer skills and knowledgeof HTML and PHP are required. Ok, let's begin now.

Step 1: Design Database Table. Create table "chat" in MySQLdatabase to store basic chat information: chtime (chat time),nick (user nickname) and words (chat message, less than 150characters)

mysql> CREATE TABLE chat

-> chtime DATATIME,

-> nick CHAR (10) NOT NULL,

-> words CHAR (150);

Step 2: Design Structure. This simple online chat room includesthe following four sections: user login, message display,message input and a main frame integrating the display and inputsections. 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 anddisplay the results. To keep the size of database, old messagesare 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); //getcurrent 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 onlinechat system. Put all the files into your website root and seehow it works, :)
  Top Articles
*CGI Security Issues
*Clever Profit Growth Software
*Why Aren't You Using CGI
*How to Stop Digital Thieves wi
*Open Source Scripts
*5 CGI Scripts You Must Use to
*Quick Intro to PHP Development
*PHP and Cookies; a good mix!
*PHP On-The-Fly!
*this is a test
*Screen scraping your way into
*ASP, CGI and PHP Scripts and R
  Related Articles
*PHP:Form Series, Part 1: Valid
*An Extensive Examination of th
*this is a test
*Open Source Scripts
*ASP, CGI and PHP Scripts and R
*Mastering Regular Expressions
*Screen scraping your way into
*PHP and Cookies; a good mix!
*PHP On-The-Fly!
*Track your visitors, using PHP
*Autoresponders With PHP
*Password Protection and File I


Prev: Government Against Diets   Next: Basic Search Engine Optimization For Dummies



Home | Site Map | Bookmark this site | T-XU RSS
Copyright 2007 T-XU.com - All Rights Reserved Worldwide.