Az admin oldalon submitolok egy formot és ki akarom íratni a kezdőoldalon frissítés és adatbázis nélkül. Hogy csináljam?
Tehát van az admin.php amiben van egy input mező és egy submit button. Beírok egy üzenetet és azt akarom, hogy a beírt szöveg megjelenjen a kezdőoldalon anélkül, hogy frissítettem volna az oldalt. És nincs adatbázis.
Tudom, hogy Jquery, Ajax-ot kell használni, de nem tudom összerakni.
Ezzel a fájlba mentéssel az csak a baj, hogy mivel "admin.php"-ról van szó, gondolom itt valami olyasmi adatot szeretne átküldeni, ami bizalmas, egy szöveges fájlt viszont bárki megnyithat, ha a helyes URL-t megtalálja hozzá (de egyes website scanner programok ki is listázzák ezeket a fájlokat, egy ilyet pedig amatőrök is képesek használni). Kivéve ha tényleg csak egy üzenetet akarsz küldeni, amit a kezdőoldalon mindenki láthat.
Szóval biztos, hogy kell adatbázis. Könnyű megtanulni, miért nem tudod le? (Mármint gondolom azért nem akarod használni, mert nem tudod, hogyan kell.)
Ahhoz, hogy frissítés nélkül megjelenjen, AJAX kell.
Valamilyen szinten tudom használni.
Akkor most új kérdést teszek fel. És van adatbázis.
Hogyan kell azt megcsinálni, hogy az admin oldalról egy input mező értékét submit lenyomása után kiíratom frissítés nélkül a kezdőoldalon?
Erre kérnék valami kis magyarázatot, linket, bármit.
"valami olyasmi adatot szeretne átküldeni, ami bizalmas"
A kérdező a topiknyitó kérdésben egyértelműen azt írja:
"és azt akarom, hogy a beírt szöveg megjelenjen a kezdőoldalon"
tehát nem privát dolgot.
De tegyük fel, hogy privát dolgot szeretne elmenteni a kérdező.
Ez esetben a webszerver konfigurációs állományával kontrollálhatja, hogy bár a PHP fájlrendszerszinten elérhesse az állományt, de a webszerver általi lekéréssel ne - például:
"Hogyan kell azt megcsinálni, hogy az admin oldalról egy input mező értékét submit lenyomása után kiíratom frissítés nélkül a kezdőoldalon?
Erre kérnék valami kis magyarázatot, linket, bármit."
Meg tudod fogni a submit eseményt js-el, tehát ki tudod kerülni azt, hogy az adat elmenjen a backendre. Bár ennek semmi értelme, de képes vagy rá: on submit eseményre kérj a js-től preventdefaultot, majd a formból szedd ki az input értékeket, és rakd ki arra az oldalra ahová szeretnéd.
Ismétlem ennek semmi értelme nincs.
Ennek úgy lenne értelme, hogy:
- submit eseménynél lefuttatsz egy enyhe validálást js-ben (hogy feleslegesen ne menjen adat a backendre)
- backenden elkapod a requestet
- backenden validálsz
- backendel elmented
- backendről response-t küldesz
- frontenden elkapod a response-t
- a kezdőoldalon meghívsz egy api-t ami lekéri az oda vonatkozó adatot a backendről, és megjeleníted
Ennek így van értelme. Bárhogy csinálod, az út ez lesz, max nem ennyi lépéssel. Ki lehet "kerülni" a frontendet, képes vagy megcsinálni ezt pusztán php-val is, de mindenképp kell küldened http requestet, ezt viszont neked kell eldöntened, hogy a hagyományos módon, vagy ajax fogod elküldeni.
Kaptál linket az ajaxról és a http requestekről.
Ami neked kellene az valószínűleg a websocket vagy php socket. Ez az eljárás kapcsolatot létesít a szerver és a kliens között, így újratöltés nélkül megjeleníthetsz üzeneteket, amik a szerver adatforrásában megjelennek. Többnyire azért ehhez is elengedhetetlen egy adatbázis. Többnyire chat rendszerekhez használják azonnali üzenetküldéshez.
Javaslom keress rá a googleben a websocketre, léteznek már ahsználható chat api-k, amik beépíthetőek szinte bármilyen rendszerbe.
Persze ehhez kelleni fog egy advanced szintű php ismeret, de meg lehet tanulni.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!