Online Чат с помощью PHP

В этом уроке Вы узнаете, как создать простой онлайн чат с помощью PHP и MySql. В уроке идет полное объяснение всего процесса, от создания баз данных, до программирования. Основными необходимыми навыками являются знания HTML и PHP. Ну, что, давайте начинать?

Шаг 1: Создание базы данных.

Создаем таблицу “chat” в базе данных MySQL для хранения основной информации чата: chtime (чат времени), nick (псевдоним пользователя) и words (фразы, менее 150 символов).


 mysql> CREATE TABLE chat 
 -> chtime DATATIME, 
 -> nick CHAR (10) NOT NULL, 
 -> words CHAR (150);
 

Шаг 2: Проектируем структуру.

Этот простой онлайн чат включает в себя четыре раздела: 1) Логин пользователя;
2) Вывод сообщения;
3) Ввод сообщений;
4) Отображение ввода разделов.
Таким образом создаем следующие четыре файла для работы: login.php, main.php, display.php и speak.php.

Шаг 3: Пишем код.

1. login.php – состоит только из формы HTML.


 <html> 
 <head> 
 <title>Логин пользователя</title> 
 </head> 
 <body> 
 Пожалуйста введите Логин.
 <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) //используем Куки для хранения ника
 ?> 
 <html> 
 <title>Комната Чата</title> 
 <frameset rows="80%,*"> 
 <frame src="/display.php" name="chatdisplay"> 
 <frame src="/speak.php" name="speak"> 
 </frameset> 
 </html>
 

3. display.php

Этот файл используется для получения и отображения пользовательских сообщений из базы данных. Чтобы не загружать базу данных, старые сообщения будут удаляться, а выводиться будут только 15 самых последних сообщений.


 <html> 
 <head> 
 <title>Чат</title> 
 <meta http-equiv="refresh" content="5;url=display.php"> 
 </head> 
 <body> 
 <? 
 $link_ID=mysql_connect("main","root"); 
 mysql_select_db("abc"); 
 $str="select * from chat ORDER BY chtime;" ;
 $result=mysql_query($str, $link_ID);
 $rows=mysql_num_rows($result); 
 @mysql_data_seek($resut,$rows-15); 
 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 ""; 
 @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>Общение</title> 
 </head> 
 <body> 
 <? 
 if ($words) { 
 $link_ID=mysql_connect("main","root"); 
 mysql_select_db("abc"); 
 $time=date(y).date(m).date(d).date(h).date(i).(date(s); 
 $str="INSERT INTO chat(chtime,nick,words) values ('$time','$nick','$words');" ;
 mysql_query($str,$link_ID 
 mysql_close($link_ID); 
 } 
 ?> 
 <form action="speak.php" method="post" target=" _self"> 
 <input type="text" name="words" cols="20"> 
 <input type="submit" value="Speak"> 
 </form> 
 </body> 
 </html>
 

На этом, пожалуй, и все! Теперь Вы можете создавать собственные чаты на Ваших сайтах.

Понравился урок? Добавьте его к себе в закладки.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *