あなたは非常に非常に非常にシンプルなソリューションを要求しているので、ここではフル・オブ・欠陥加工-例です。
に関して、
//トン
<?
//chat.php
//collect input from user
if($_SERVER['REQUEST_METHOD'] == 'POST') {
//submitted by form - add to conversation...
//get conversation from file in server to array..
if (!file_exists('conversation.txt'))
file_put_contents('conversation.txt',serialize(array()));
$a = unserialize(file_get_contents('conversation.txt'));
//add the new entry to the conversation
$a[] = array(
'user' => $_POST['user'],
'line' => $_POST['line']
);
//if conv. > 20 msg, crop
if (sizeof($a)>20) $a = array_split($a, sizeof($a)-20);
//now save..
file_put_contents('conversation.txt',serialize($a));
//and we're done with logic..
}
//from here, only presentation..
?>
<html>
<body>
...
<?php
//show conv...
$a = unserialize(file_get_contents('conversation.txt'));
for($i=0;$i<sizeof($a);$i++) {
echo $a[$i]['user'] . ':' . $a[$i]['line'] . '<br />';
}
?>
//build a form to submit line...
<form name="frm1" method="post" action="chat.php">
<input type="text" name="user" />
<input type="text" name="line" size="60" />
<input type="submit"/>
</form>
<!-- add js that reloads as long as no entry in line... !-->
<script type="text/javascript">
function getChat() {
if (document.frm1.line.value.length == 0) {
//alert('reloading');
location.reload(true);
}
}
//add a simple js-timer to fire every 8 sec.
setInterval('getChat()',8000);
</script>
</body>
</html>
あなたがチャットをリアルタイムにしたい場合は、JavaScriptやAJAXとの良好な取得する必要があります
。それ以外の場合は、メッセージを送信するたびにPOSTを実行する必要があります。 – FrustratedWithFormsDesigner
あなたがJS能力を持っていない場合(AJAXはそれらのサブセットです)、あなたはライブチャットに似ているものをたくさん得るのが難しいでしょう。 – cwallenpoole
@FrustratedWithFormsDesignerもっと重要なことに、誰かの回答を得るためには、リロードする必要があります。 (彼らもフォームをプッシュすることができます) – cwallenpoole