Kezdőoldal » Számítástechnika » Programozás » Hogyan oldhatom meg, hogy ha...

Hogyan oldhatom meg, hogy ha egy file-ba kerül egy új sor, töltse újra az oldalt?

Figyelt kérdés

Egy egyszerű webes chat programot írok és a szerveren egy fájlban tárolom az üzeneteket (minden sorban egyet). A program kiíratja az előző üzeneteket, majd egy szövegmezőt, ahova a felhasználó írhatja az üzenetet.

Amikor elküldi, újratöltődik a lap, de egyébként nem látja azokat az üzeneteket, amiket az oldal frissítése óta írtak. Lehetséges az, hogy ha a sizeof(file('messages.txt')) (php) nagyobb, mint az oldal betöltésénél kapott érték (ezt egy változóban tárolom) akkor töltődjön újra az oldal?



2017. máj. 2. 21:23
1 2 3
 1/21 anonim ***** válasza:
0%
Minden lehetséges, csak ez így irgalmatlan gányolás.
2017. máj. 2. 22:14
Hasznos számodra ez a válasz?
 2/21 A kérdező kommentje:
Van jobb ötleted?
2017. máj. 2. 22:29
 3/21 anonim ***** válasza:
Adatbázis, AJAX, meg valami kétirányú realtime framework, pl socket.io.
2017. máj. 2. 22:52
Hasznos számodra ez a válasz?
 4/21 anonim ***** válasza:
0%
<meta http-equiv="refresh" content="25">
2017. máj. 2. 22:57
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:
68%
#4: gratulálok a baromságodhoz.
2017. máj. 2. 23:01
Hasznos számodra ez a válasz?
 6/21 A kérdező kommentje:
Azért köszönöm...
2017. máj. 2. 23:10
 7/21 anonim ***** válasza:
Semmi gond, jelentettem féleszű barátunkat, hamarosan törlik az oldalról.
2017. máj. 2. 23:14
Hasznos számodra ez a válasz?
 8/21 Djjjozsiiiii ***** válasza:

A lap újratöltessél az a gond, mi van ha épp gépel a user ?

Nem túl hatékony, de jelen szintnél működő módszer, ha kiteszed az input mezőt az üzenet írásához,

alá pedig egy div-et.

<div id="uzenetek"></div>


Ugyanerre a lapra tehetsz egy kis JS kódot, ami egy külső (uzenetek.php) PHP fájlból vissza adja az üzeneteket, az utolsó X darabot, és 10 másodpercenként frissíti a DIV-be.



<script src=" [link] type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function(){

ujratolt();

});


function ujratolt(){

$('#uzenetek').load('uzenetek.php', function(){

setTimeout(ujratolt, 10000);

});

}

</script>



Aztán utána bogarászhatod a netet, hogy csak akkor frissítsd a div-et, hogyha tényleg új üzenetet írtak a fájlba.

2017. máj. 3. 10:40
Hasznos számodra ez a válasz?
 9/21 anonim ***** válasza:
88%

Ha éppen gépel a user, arra is van megoldás.

A lapot horizontálisan két frame-re kell osztani, az alsóba kerülhet az input box, a felsőbe meg az üzenetek. Természetesen ilyenkor csak a lap felső fele fog frissülni, abba érdemes illeszteni a "refresh" sort.

2017. máj. 3. 19:26
Hasznos számodra ez a válasz?
 10/21 anonim ***** válasza:
0%
Felejtsd már el ezt a baromságot 44-eske
2017. máj. 3. 20:04
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!