
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.
|

fareszgamp
Kezdő
|
Szia!
Próbáltam ezt a kódot átírni az én szükségletemre de nem sikerült. Csak sejtem, hogy miért nem volt jó!
Szóval van egy csetem amiben azt kell megoldanom, hogy amikor az user épp beír a szövegbeviteli mezőbe akkor ne frissítsen az oldal. Vagy csak a szoba tartalmát frissítse a szövegbeviteli mezőt ne!
Van egy iframe megoldásom de az ugye már nem korszerű.
Ez a script működik de a szobában lévő védelem miatt elszáll. Ugyanis session-t használok és ha ezt a scriptet használom a frissítésre akkor belépni szépen be lehet a szobákba de amikor a script frissít akkor már kidobja a felhasználót.
Van valami megoldás erre? Egyébként még az is bonyolítja a dolgot, hogy az usernek lehetősége van megadni frissítési időt.
Egyszerűen nem tudom megoldani. Js-haz abszolut nem értek, csak viszonylag értelmezni tudom a kódot.
Annyira megakaszt ez a feladat, hogy belekerülök egy olyan spirálba amikor már semmi nem sikerül.
Légyszi segíts nekem.
Köszönöm.
|

anti
Kezdő
|
Az alábbi kód percenként generál lekérést a kiszolgáló felé, amely ilyenkor egy véletlen számot ad vissza.
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.get('/frissito.php', function(result) { if (result) $('#tartalom').html(result); });
}, 60*1000);
});
</script>
</head>
<body>
<div id="tartalom">Ez frissül.</div>
</body>
</html>
|
frissito.php
1
2
3
|
<?php echo mt_rand(1,999); ?>
|
|

rolland94
Kezdő
|
Hello szeretnék egy olyan szkriptet ami frissitene nekem egy div tartalmot minden 1 percben pl ... ha valaki tud segiteni azt meg koszonném!
|
|