Autor Zpráva
Ondra42
Profil *
Zdravím, mám soubor chat.php ve složce modules, v tomto souboru mám
..
..
<script type="text/javascript">

            function Ajax()
            {
                var
                    $http,
                    $self = arguments.callee;

                if (window.XMLHttpRequest) {
                    $http = new XMLHttpRequest();
                } else if (window.ActiveXObject) {
                    try {
                        $http = new ActiveXObject('Msxml2.XMLHTTP');
                    } catch(e) {
                        $http = new ActiveXObject('Microsoft.XMLHTTP');
                    }
                }

                if ($http) {
                    $http.onreadystatechange = function()
                    {
                        if (/4|^complete$/.test($http.readyState)) {
                            document.getElementById('ReloadThis').innerHTML = $http.responseText;
                            setTimeout(function(){$self();}, 1000);
                        }
                    };
                    $http.open('GET', '/modules/chat-reload.php' + '?' + new Date().getTime(), true);
                    $http.send(null);
                }

            }

        </script>
            <script type="text/javascript">
            setTimeout(function() {Ajax();}, 1000);
        </script>
        <div id="ReloadThis">Default text</div>
..
..
v souboru chat-reload.php , mám výpis příspěvků, to funguje parádně, nicméně v tomto souboru znova musím zalovat funkce do databáze(jinak to nefunguje)
session_start();
require_once '../inc/dibi.min.php';
require_once '../inc/db_connection.php';  
require_once '../inc/login.php';

problém je ten, že toto volání do db mám už v souboru index.php, kde vypisuju stránku chat.php, a právě když sem přihlášen tak bych měl mít možnost mazat jednotlivé komentáře, což mi právě nefunguje, když to udělám bez refreshu tak to funguje.


teď ještě když jsem dal $http.open('GET', '/chat-reload/' + '?' + new Date().getTime(), true);
- tak to kopíruje celou stránku i se vzhledem

www.mujweb.cz/chat-reload/
- normálně funguje nemusím tam volat funkce o db apod.
_es
Profil
Ondra42:
A otázka je... Asi to budeš aj musieť preformulovať do zrozumiteľnejšieho tvaru, aby si dostal nejakú radu. Tie doláre dávaš k názvom premenných načo?
Ondra42
Profil *
_es:
Zkrátka potřebuji něco funkčního, co mi bude aktualizovat každých xx sekund to co mám v divu
např
<?php
session_start();
require_once '../inc/dibi.min.php';
require_once '../inc/db_connection.php';  
require_once '../inc/login.php';
echo '<div id="refresh">';
echo rand();
echo '</div>';
?>
_es
Profil
Ondra42 [#3]:
Čo to má spoločné s nejakým PHP kódom? Dal si to do sekcie JavaScript, tak to zredukuj na problém v JS. Kde si prišiel k if (/4|^complete$/.test($http.readyState))? Určite to spoľahlivo funguje? Skús sa inšpirovať na Univerzální funkce pro AJAX, alebo nejako zrozumiteľne popíš, v čom je problém. Asi sa nikomu nebude chcieť si domýšľať, čo všetko asi tak robia všetky tie PHP skripty a ako je do toho „zamontovaná“ nejaká databáza.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: