Home >Backend Development >PHP Tutorial >php mysql chat room tutorial tutorial_PHP tutorial
Chat rooms can be implemented by many programs, and the principle is simple and can be implemented without refreshing. The simplest one is to use an iframe to continuously refresh the page and read the user's records from the database.
MySQL has strong concurrency and fast response speed, and is a database software with excellent performance; PHP is a powerful server-side scripting language. In the website development of Shanxi Aluminum Factory, the author used PHP4.0+MySQL3.23.38 to establish a variety of applications. Next, take a simple chat room design as an example to introduce the application of PHP+MySQL in web development.
1. Overall design
1.1 Conception and planning:
The basic principle of the chat room is to store the speech data sent by each user connected to the same web page, and then transmit all the speech data to each user. In other words, the function of a chat room is realized by using a database to collect everyone's speeches and transmitting the data in the database to everyone.
1.2 Table design
First use MySQL to create a table chat to store user comments:
The code is as follows | Copy code | ||||
-> (chtime DATATIME,
|
Only three fields are set in the table. chtime is the time of speech, nick is the nickname of the speaker, words is the content of the speech, and the speech can be up to 150 characters
1.3 Web Design
The simplest chat room usually requires two page frames: one page frame is the form for users to enter comments, and the other is used to display everyone's comments. So the code segment usually requires at least the following segments:
Create the structure of the page frame (main.php)
Display the program segment where everyone speaks (cdisplay.php)
Transmit the user's speech program segment (speak.php)
User login to enter the chat room program segment (login.php)
2. Code design
After the above planning is completed, you can start code design. Using PHP can realize the above functions very simply.
代码如下 | 复制代码 |
<html> <head> <title>用户登录</title> </head> <body>请输入您的昵称<br> <form action=”main.php” method=”post” target=”_self”> <input type=”text” name=”nick” cols=”20”> <input type=”submit” value=”登录”> </body> </html> |
The code is as follows | Copy code | ||||
<html> <head> <title>User login</title></head> <body>Please enter your nickname<br>
|
The code is as follows | Copy code |
<? setcookie(“nick”,$nick) //Use cookies to record user nicknames, which is a commonly used method of passing variables ?> <html> <title>Shanxi Aluminum Factory Chat Room Trial Version ver1.0</title> <frameset rows=”80%,*”> <frame src=” cdisplay.php” name=”chatdisplay”> <frame src=”speak.php” name=”speak”> </frameset> </html> |
2.3 Display speech cdisplay.php
The task of this code segment is to extract the data from the chat table and display it in the page frame. Each time it is refreshed, the 15 most recent statements in the database are fetched. At the same time, in order to prevent the database from growing indefinitely, it is necessary to design the function of deleting old data. The code is as follows
The code is as follows
|
Copy code
|
||||||||
<html> <head> <title>Display user comments</title>
</head> <body>
$link_ID=mysql_connect("main","root"); |
$str=”select * from chat ORDER BY chtime;”; //Query string
The code is as follows | Copy code | ||||
<html>
<head>
<title>Speech</title>
</head>
<body>
<?
If ($words)
{ $link_ID=mysql_connect("main","root");
mysql_select_db("abc"); //The database name is abc
$time=date(y).date(m).date(d).date(h).date(i).(date(s); //Get the current time
$str=”INSERT INTO chat(chtime,nick,words) values
(‘$time’,’$nick’,’$words’);” ;
mysql_query($str,$link_ID); //Send the statement to the database
mysql_close($link_ID);
}
?>
//Input form to speak
|