Hirdetés

Új hozzászólás Aktív témák

  • Mr. Y
    őstag

    Az a probléma, hogy ez a teljes php állományt újratölti.
    Szóval pontosítok. Van 1 db .php állomány. Ami egy chat program:

    Van benne egy form ami az új bejegyzést várja.

    És egy PHP ami kirakja a képernyőre a chat.txt tartalmát. Alap esetben ez csak akkor frissül amikor submit gombot nyom a felhasználó. Tehát nem látja a felhasználó, ha valaki új bejegyzéssel bővíti a chat.txt-t.

    Namármost a php kódnak ki kellene tenni 1-2 mp-enként az esetlegesen mások által frissített
    chat.txt tartalmát. De közben nem veszhet el a form tartalma, ha a felhasználó éppen hozzászólást ír.
    Vagyis:

    1. vagy a php 1-2 mp-enként újra kiteszi a chat.txt tartalmát a képernyőre így békénhagyva a form-ot. Ehhez 1-2 mp -enkét állandóan lefutó PHP függvény kellene....

    2. vagy a JS lementi a form aktuális tratalmát és újrahívja az oldalt majd visszatölti a formba ami korábban benne volt. De ez hülyeség mert a változók tartalma elvész a refresstől. Mentsem le cooki -ba...? Na ekkora baromságot....

    3. vagy a JS hívjon meg egy PHP függvényt 1-2 mp -enként... állítólag ezt nem lehet.

    4. vagy legalább töltsön ki a JS egy nyomorult POST sort pár másodpercenként, ahogy a submit gomb is teszi és akkor a PHP oldal egy egyszerű isset -el észreveszi és frissíti a bejegyzéseket.

    5. vagy ha ez olyan bonyolult akkor csinálok egy kamu formot ami nem látszik és beleírok egy szóközt oszt valahogy meghívom JS -ből a submit gombot , az meg elküldi a szóközt a php-ből meg látom hogy kitöltődött a PSOST adott sora és intézkedek.

    De nehogy már így kelljen cigánykodni, nincs a nyelvnek valami normális megoldása ilyesmire ???

    Ha már ennyire elfuserált módon akarsz chat alkalmazást készíteni, akkor ajánlom a következő megoldást:

    Alapanyagok:

    1) 1 db form, ahová felhasználó beírhatja a dolgait.
    2) 1 db submit, ami egy PHP kódot indít el.
    3) 1 db JS, ami fetch segítségével megjeleníti az eddigieket.

    Elkészítési mód:

    1) Végy egy kiló billenytűzetet és készítsd el a formot vele.
    2) A submit lenyomásra: PHP kód a form tartalmával kibővít 1, a szerveren erre elkülönített JSON fájlt (ha nincs, csinál egyet). Ezt fel tudja tölteni mindenféle mellékes értékkel is, mint 'ki küldte', 'mikor küldte', 'miért küldte', stb.
    3) JS interval 1-2 másodpercenként fetch segítségével megnyitha újra és újra ugyan azt a JSON fájlt és tartalmát kiteríti a felhasználó elé, a megfelelő formátumban.

    Előnyök: Működni fog, amit akarsz.

    Hátrányok: Csak 2 felhasználó közti kommunikációt tesz lehetővé, kivéve, ha egyedi azonosítónévvel ellátott JSON fájlt generál, és azt az azonosítót elmenti pl window.localStorage-ba (Ugyanis submit esetén frissülni fog az oldal).

    Még több hátrány: Ha nagyon sokan használják külön azonosítókkal, a szervered tele lesz spam-elve JSON fájlokkal ;]

    Szerk.: Mellékesen chat alkalmazáshoz számos, már meglévő opció közül válogathatsz. És az nem fog ennyi fejfájást okozni neked :DD

Új hozzászólás Aktív témák