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>
На этом, пожалуй, и все! Теперь Вы можете создавать собственные чаты на Ваших сайтах.
Последние уроки категории:
Сокращение PHP кода
Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...
Видимость переменных в PHP
В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.
Как читать Rss ленты?
Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.
Установка и настройка PHP+Apache
В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.
Как выбрать фреймворк
Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.




Комментарии:
yuri 11.03.2011 20:11:02
SiteStalker 16.07.2011 13:45:35
Arconas 10.08.2011 07:19:22