Autor | Zpráva | ||
---|---|---|---|
Neas Profil |
#1 · Zasláno: 1. 6. 2010, 22:13:01 · Upravil/a: Neas
Ahoj.
Z nějakého důvodu mi na stránkách v jednom případě nefunguje funkce $.get() z jquery. <?php include_once("mysql_connect.php"); $prispivatel = $_SESSION['hero_jmeno']; if(isset($_GET['pisi'])) { echo "ano"; $writing = $_GET['pisi']; if($writing == "") mysql_query("UPDATE forum_users SET chat_writing = '0' WHERE username = '$prispivatel' LIMIT 1"); else mysql_query("UPDATE forum_users SET chat_writing = '1' WHERE username = '$prispivatel' LIMIT 1"); } else echo "ne"; $sql_write = mysql_query("SELECT username FROM forum_users WHERE chat_writing='1' ORDER BY username ASC"); echo "<span class='cas'>Právě píší uživatelé:</span><span class='prispivatel'>"; while($usrpisi = mysql_fetch_array($sql_write)) echo " ".$usrpisi[0]; echo "</span>"; mysql_close($mysql_connection); ?> Zvýrazněné části kódu jsem přidal v rámci testování, abych zjistil, kde je chyba. Při vstupu na stránku se mi vypíše: " nePrávě píší uživatelé: ", z čehož plyne, že proměnná se ani neodešle do souboru. Přikládám ještě kód indexu: ...metadata, různej JS... function refresh() { $.get('chat.vyhodnoceni.php', function(vystup){ if(document.getElementById('chatarea').innerHTML != vystup){ $('#chatarea').html(vystup); } } ); $.get('chat.writing.users.php', { pisi: document.getElementById('textove_pole').value } ); // tahle proměnná se neodešle $.get('chat.writing.users.php', function(pisi){$('#writingusers').html(pisi); } ); scrollDown(); } setInterval("refresh();", 500); </script> ...html stránky... <form method="post"> <textarea id="textove_pole"></textarea><br /> <input type="button" value="Odeslat" onclick="odeslat(); reset();" /><br /> </form> ...další html a konec ostatní $.get() ve funkci refresh() jsou bez problémů. Prohlížel jsem kódy několikrát, ale nemohu najít chybu, tak píši sem a prosím vás, jestli by ste mi někdo nedokázal pomoci. Děkuji. |
||
Časová prodleva: 3 dny
|
|||
Aichi Profil |
#2 · Zasláno: 4. 6. 2010, 18:06:20
Živá ukázka | jsou chybové hlášky v JS konzoli?
|
||
Časová prodleva: 4 dny
|
|||
Neas Profil |
#3 · Zasláno: 8. 6. 2010, 16:27:39
žádné chybové hlášky. do souboru chat.writing.users.php se prostě proměnná z nějakého důvodu neodešle.
|
||
ninja Profil |
#4 · Zasláno: 8. 6. 2010, 18:13:56
Neas: a je ten php skript vůbec volán?
|
||
Chamurappi Profil |
#5 · Zasláno: 8. 6. 2010, 18:28:30 · Upravil/a: Chamurappi
Reaguji na ninju:
Nejspíš je. Předpokládám, že dvakrát — poprvé zapíše do databáze proměnnou „pisi“ (výstup se zahodí) a podruhé pošle „nePrávě píší uživatelé“ (což se strčí do #writingusers ).
Reaguji na Nease: „// tahle proměnná se neodešle“ O tom pochybuju. Ale dál nad tím nemá smysl přemýšlet, dokud nedodáš tu živou ukázku. Bombardovat server dvakrát za sekundu třemi HTTP požadavky, které vyvolají minimálně čtyři dotazy na databázi, mi připadá docela hloupé. Jsi neponaučitelný, že? |
||
Časová prodleva: 5 dní
|
|||
Neas Profil |
#6 · Zasláno: 13. 6. 2010, 14:26:28
Chamurappi:
0ms, přiznávám, bylo dost hloupé používat, ale myslel jsem, že půl sekunda už je dost - i 4 mysql požadavky dohromady přeci zaberou méně, než 500ms, ne? |
||
Chamurappi Profil |
#7 · Zasláno: 13. 6. 2010, 16:47:28
Reaguji na Nease:
„i 4 mysql požadavky dohromady přeci zaberou méně, než 500ms, ne?“ Od kolika lidí zároveň? Na jak zatíženém serveru? Na tvém místě bych nikdy nedělal chat přes databázi. Proč při každém refresh i posíláš na server tři požadavky, když k přenosu všech informací stačí jeden požadavek a jedna odpověď?
|
||
__construct Profil |
#8 · Zasláno: 13. 6. 2010, 20:38:13
Neas:
„4 mysql požadavky dohromady přeci zaberou méně, než 500ms“ To možno áno, ale druhá vec je predať tie dáta PHP .. to už bude iné číslo .. a samozrejme, že to ešte ovplyvňuje to čo Ti písal Chamurappi |
||
Neas Profil |
#9 · Zasláno: 13. 6. 2010, 22:19:07 · Upravil/a: Neas
Chamurappi, __construct:
aha, chápu. A jakým tedy jiným způsobem byste mi doporučovali ten chat udělat, když ne přes databázi? |
||
__construct Profil |
#10 · Zasláno: 13. 6. 2010, 22:45:43 · Upravil/a: __construct
Neas:
Ešte som nič takéto nerobil, ale myslím, že jednoduchšie bude ak budeš dáta ukladať do súboru buď s použitím serialize()/unserialize() alebo json_encode/json_decode - neviem čo bude rýchlejšie a čo sa týka kontroly nových správ tak by som do session/cookie uložil otlačok (md5,sha1.. ) súboru a kotroloval by som cez XHR iba tú hodnotu, ak sa zmenila načítal by som celý súbor a parsoval ho ak nie vrátil by som false .. |
||
Časová prodleva: 3 dny
|
|||
Neas Profil |
#11 · Zasláno: 16. 6. 2010, 16:12:52
a můžeš mi prosimtě ve stručnosti popsat, k čemu ty funkce jsou? Moje angličtina je žel bohu vcelku bídná.
Děkuju |
||
Časová prodleva: 14 let
|
0