| Autor | Zpráva | ||
|---|---|---|---|
| Ondra42 Profil * |
#1 · Zasláno: 2. 11. 2014, 13:57:06 · Upravil/a: Ondra42
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 |
#2 · Zasláno: 2. 11. 2014, 15:55:39
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 * |
#3 · Zasláno: 2. 11. 2014, 16:01:56
_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.
|
||
|
Časová prodleva: 11 let
|
|||
0