PHP VIII Frissítések
Probléma Megoldandó feladat a böngészőben megjelenített tartalom időnkénti frissítése Például, ha az oldalon szerepel a szerver órájának állása, akkor bizonyos időközönként frissíteni kell az oldalt. Megoldás: –header(”Refresh: 5; url=mysite.php”);
Feladat $page = $_SERVER['PHP_SELF']; header("Refresh: 1; url=". $page); $date = date("H:i:s"); echo "Server time: $date";
Probléma Mit csináljunk ha az oldalunk nem csak ezt az egy órát tartalmazza? Felesleges a teljes oldalt frissíteni Modern és elegáns megoldás: AJAX AJAX = Asynchronous JavasScript and XML
Feladat Írjunk szkriptet ami visszaadja az időt XML formátumban (gettime.php): header("Content-Type: text/xml; charset=iso "); header("Cache-Control: no-cache, must-revalidate"); $date = date("H:i:s"); echo ' '; echo " "; echo $date; echo " ";
Feladat A php8.zip-ben található oldal aszinkron frissíti az időt: –Az oldal betöltésekor a body tagben megadott timerHandler() metódus fut le. –A timerHandler frissíti az időt az updateTime() metódussal, majd elindít egy időzítőt, ami 1 mp- enként futtatja az updateTime metódust. –Az updateTime aszinkron meghívja a php szkriptet, ami visszaadja az időt –Mihelyst megérkezett az idő, a stateChanged metódus fut le, ami kiírja az aktuális időt.