Главная » JavaScript, Php, Коды, Материалы » Создание чата на PHP, о недостатках и в ожидании вашей критики
Янв
29

Создание чата на PHP, о недостатках и в ожидании вашей критики

Захотелось мне пару дней назад начать изучить ajax, jquerty, так как я случайно в одной из школ программирования увидел анонс одного из курсов. Почему-то спешить с покупкой не стал. И вот сегодня какой-то добрый человек выложил данный курс в торрент :). Радости было много, в общем я скачал его на халяву. Сейчас его цена 4970 руб. [страничка покупки курса], название которому дано «JavaScript. Интерактивные веб-приложения».
К чему бы все это? Неделю назад я начал писать чат на PHP, писал по 20 минут в день, когда было время. Реализовать получилось почти все. Но недостаток знаний по ajax не дадут мне осуществить все моменты.

PHP чат рабочая версия


Попробуйте что-то написать, работает отлично.
Единственный недостаток: когда обновляется страница у одного пользователя, то во второго, она не обновляется.





Решение проблемы:

  1. перезагружать участок кода, например между div, при этом используя ajax технологии;
  2. перезагружать страницу meta-тегом (meta http-equiv=refresh content=время перезагрузки), но чтобы при обновлении введенные данные в форму сохранялись.

Второй вариант является более тупым, по-этому сейчас я остановился на первом варианте. В общем, если вы читаете это, то я хотел бы попросить вас о помощи. Мне нужен ваш совет, варианты кода. Дело в том, что используя те знания которые уже есть у меня в голове, можно было бы реализовать даже больше, но я не могу найти нужные мне куски кода даже через поисковые системы, они либо не работают по неправильности их написания, либо же — по неправильности обработки. В общем сейчас стоит вариант чем то похож на второй. Фрейм перезагружается каждые 2 минуты, общаться можно, но до идеального чата, не реализован последний шаг.

Делюсь кодом чата на PHP

Файл chat.php

[html]

Чат

<!—?php <br ?—>$t1 = $_POST[‘t1′];
$t2 = $_POST[‘t2′];
if (isset ($_POST[‘t1′]) or ($_POST[‘t2′]))
{
if (($t1 !== ») && ($t2 !== »))
{
$q1 = fopen(‘gost.txt’, "a+");
fwrite($q1, ‘<span style="font-family: arial;"><strong>’ . $t1 . ‘</strong>:
<em>’ . $t2 . ‘</em></span>

‘);
fclose($q1);
}
else
echo "<script type="text/javascript">// <![CDATA[
alert(‘Аххаха! Кто-то решил меня нае-ать?! Или как мне понимать это?’)
// ]]></script>";
}
?>
<!—?php if (file_exists(‘gost.txt’)){readfile(‘gost.txt’);} ?—></pre>
<form action="" method="post"><strong>Имя:</strong>

<input type="text" name="t1" size="40" />

<strong>Cообщение:</strong>

<input onclick="location.reload()" type="submit" value="Отправить" /></form>
<pre>

[/html]

Если в коде что-то не понятно — задавайте вопросы.
Из главного:

  • onload=javascript: window.scrollTo(0, document.body.scrollHeight); — автоматическое перенаправления в низ страницы при ее загрузке.
  • onClick=location.reload() — при нажатии на кнопку «Отправить» — ваша запись добавляется и страница перезагружается.

Вывод чата на страницу через iframe

[html]</pre>
<iframe src="http://kpeople.ru/chat.php" frameborder="0" scrolling="yes" width="570" height="400"></iframe>
<pre>
[/html]

Здесь все понятно должно быть, менять можно почти все, рассчитывая параметры вашей страницы и др. факторов.

Ладно, у меня все! Жду критики и советов, как именно вы бы реализовали автоматическую перезагрузку чата для всех пользователей!?



Понравилась статья? Сделай приятно ее автору, поделись с друзьями:


Хотите получать обновления данного блога на EMail?

Введите адрес Почтового Ящика:




Подтвердите подписку в письме пришедшем на Почту, после чего начнете получить рассылку.