Webprogramozás arr Scriptek info Egy div tartalom frissítése
(#5) anti válasza erre: (#4) fareszgamp 2013.09.15. 22:16

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