простой чат ajax - PullRequest
       9

простой чат ajax

0 голосов
/ 31 июля 2011

для целей обучения я хочу сделать очень простую страницу в чате

регистрация не требуется, sql не будет использоваться

сначала нужны только php, html и ajax, я сделал

chat.html //////////////////////////////////////////////////////////////////////////////////////////////////////

<html>
<head>


<script type="text/javascript">
function chat()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }

else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("chat").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","chatreturn.php?name=getElementById("name").value&data=getElementById("data").value",true);
xmlhttp.send();
}


</script>


</head>
<body>

<form>
Name: <input type="text" id="name" />
writing: <input type="text" id="data" />
<button onclick=chat() >
</form>
<div id=chat></div>
</body>
</html>

//////////////////////////////////////////////////////////////////////////////////////////////////////// и chatreturn.php

<html>
<head>
</head>
<body>
<?php

$logger = fopen("chatlog.txt","w");
$msg = $_GET["name"];
$msg += " " + $_GET["data"];
fwrite($logger,$msg);
fclose($logger);

$logdata = fopen("chatlog.txt","r");

$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
$display += fgets($logdata);
document.write($display);
fclose($logdata );
?>

</body>
</html>

////////////////////////////////////////////////////////////////////////////////////////////////////////////

Я ожидаю, что каждый раз, когда я отправляю сообщение, сообщение добавляется в текущий документ, но странный символчто он ничего не возвращает

anyadvice?заранее спасибо.

1 Ответ

1 голос
/ 31 июля 2011

Учиться писать программу для чата - это хорошо, но я советую вам сначала использовать правильные инструменты для работы.

Хотя приятно научиться выпекать яблочный пирог, вам не нужно выращивать вместе с ним яблоню.

  1. Используйте библиотеки, чтобы помочь вам сделать вещи более краткими, и сосредоточиться на том, что действительно важно в вашем проекте, а не на гайках и болтах вокруг него. Например, jQuery для вашего XHR будет хорошим началом.

  2. Отладчики Javascript являются обязательными при работе с XHR. Я предлагаю Chrome с инструментами разработчика. Лично я не думаю, что какой-либо другой инструмент может превзойти его с точки зрения возможностей и полезности.

  3. Используйте базу данных для хранения ваших данных. Файлы не очень хорошая идея.

  4. Есть хороших примеров из руководства по PHP; учиться у них.

  5. Вы, кажется, не совсем понимаете синтаксис PHP и смешиваете код на стороне сервера и на стороне клиента (также вы пишете код Javascript внутри своего URL-адреса GET? У вас должны быть ошибки Javascript, поскольку ваши кавычки даже не экранируются) , Поскольку чат-программа требует хорошего понимания их двух, начните сначала с некоторых базовых тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...