Kuvaus:
1. Tallennan tietoa teksititedostoon yksi tieto kerrallaan
2. Listaan 5 viimeistä riviä tekstitiedostosta
Ongelma:
Se ei listaa uusimpaa tiedostoa, vaan minun täytyy tulla sivulle jossa skripti on uudelleen, jotta uusin lisäys päivittyy. Tarvitsisin siis jonkinlaisen reload ominaisuuden, osaako joku sanoa miten onnistuu?
Olen kokeillut header("location: www.minunskripti.fi"); mutta tällöin koko skripti jumahtaa totaalisesti...
1. Tallennan tietoa teksititedostoon yksi tieto kerrallaan
2. Listaan 5 viimeistä riviä tekstitiedostosta
Ongelma:
Se ei listaa uusimpaa tiedostoa, vaan minun täytyy tulla sivulle jossa skripti on uudelleen, jotta uusin lisäys päivittyy. Tarvitsisin siis jonkinlaisen reload ominaisuuden, osaako joku sanoa miten onnistuu?
Olen kokeillut header("location: www.minunskripti.fi"); mutta tällöin koko skripti jumahtaa totaalisesti...
Vastaukset 2
Vanhimmat
sivu täytyy päivittää jos olet toteuttanut toiminnallisuuden PHP:llä.
1. Normaalitilassa tiedoston viisi viimeisintä riviä tulostetaan sivulle.
2. Tiedon syöttämisen jälkeen käyttäjä ohjataan etusivulle tms. jossa kohdan 1. toiminto suoritetaan. Tällöin sivua ei tarvitse päivittää.
Voihan siellä tietenkin käyttää meta-refresh tagia mutta jos päivitettäviä tietoja ei ole usein, on turha päivittää sivua usein.
lisää se kama tiedostoon ja lue sitten 5 viimeisintä.
Sen jälkeen vasta tulostat sivun html-koodin näkyviin. Sittenhän se toimii.
Jos käytät tuota header()-metodia, niin muista että headerit lähetetään ennen kuin sivun html-koodi lähetetään. Et siis voi ensin sivulla tulostella jotain html-koodia ja sitten käyttää tuota headeria.
Se pitää olla siis heti kaman lisäyksen jälkeen ja ennen mitään html-tulostetta.
header('Location: http://www.minunsivu.fi');
Tuo aiheuttaa sen että selain lähtee heti uuteen osoitteeseen ja sivun html-koodi ei ehkä ehdi näkyä sivun katsojalle.
Jos siis haluat näyttää jonkun tiedon lisäyksen jälkeen, niin käytä vaikka javascriptiä. Tee javascript timeout jolla lataat sitten sivun uudelleen