
anti
Kezdő
|
Szia!
A megoldáshoz a beviteli mezőt és a chat ablak tartalmát különítsd el és kerüld az iframe használatát.
A session-nel nincs gond ajax mellett, mert ugyanúgy továbbítja a session működéséhez szükséges adatokat.
Egy példa a megoldásra:
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.get('/chat-ablak.txt', function(result) { if (result) $('#chat-ablak').html(result); });
}, 2*1000);
});
</script>
<style>
input[type=text],
#chat-ablak { border: 1px solid gray; font-family: Arial; font-size: 12px; padding: 5px; width: 150px; }
#chat-ablak { height: 200px; }
</style>
</head>
<body>
<div id="chat-ablak"><?php echo @file_get_contents(__DIR__ . '/chat-ablak.txt') ?></div>
<form action="/uzenet-mentese.php" method="post">
<input type="text" name="message">
<input type="submit" value="Mehet">
</form>
</body>
</html>
|
uzenet-mentese.php
1
2
3
4
5
6
7
8
9
10
|
<?php
$userName = 'Anti';
if ($msg = trim($_POST['message'])) {
$str = $userName . '[' . date('H:i:s') . ']: ' . $msg . "<br />";
file_put_contents(__DIR__ . '/chat-ablak.txt', $str, FILE_APPEND);
}
header('Location: /');
|
A fenti kódsor egy "egy személyes" chat. Amit beírsz, rögzíti egy állományban és rögzítés után, illetve oldal betöltődését követően 2mp-ként, beolvassa azt.
Működési feltétel, hogy a document root-ból fusson és ugyanott legyen joga állományt írni-olvasnia.
Remélhetőleg ezt már könnyebben tudod alkalmazni a szándékaidnak megfelelően.
|