2011-01-04 10 views
1

チャットサポート機能が必要な私の友人サイトを支援する簡単なチャットサイトを開発します。私はPHPの知識をテストしたいので、まずはリソースが必要ですどこから始めることができますか?私は何か非常に非常に非常にシンプルなものから始めたいと思っています。そして、私はそれを改善し始めます(私は物事を作るのが大好きです)。リソースPHPを使用してチャットを行う場合

私はこれを行うために必要ないくつかのリソースを共有できますか?例のように、スニペットとドキュメント?

PS:私はJavascriptでもないAJAXとあまり良くないんだけど

+3

。それ以外の場合は、メッセージを送信するたびにPOSTを実行する必要があります。 – FrustratedWithFormsDesigner

+0

あなたがJS能力を持っていない場合(AJAXはそれらのサブセットです)、あなたはライブチャットに似ているものをたくさん得るのが難しいでしょう。 – cwallenpoole

+0

@FrustratedWithFormsDesignerもっと重要なことに、誰かの回答を得るためには、リロードする必要があります。 (彼らもフォームをプッシュすることができます) – cwallenpoole

答えて

0

あなたは非常に非常に非常にシンプルなソリューションを要求しているので、ここではフル・オブ・欠陥加工-例です。

に関して、

//トン

<? 
//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との良好な取得する必要があります
関連する問題