Haluaisin saada viereisessä framessa sijaitsevan sivun päivittymään toisen sivun latautuessa toisessa framessa. Olen hieman opetellut javascriptia, mutta en ilmeisesti tarpeeksi, enkä usko tarvitsevani sitä enää juuri tämän lisäksi, PHP saa riittää...
Mutta kuinka tämä toteutetaan? Olen jotain onLoad eventeillä ja sen ajamilla funktioilla yrittänyt, mutta syystä jota en tiedä, en ole saanut mitään niistä onnistumaan... ;) Haluaisin melko yksityiskohtaiset ohjeet koodiin. Pienikin vinkki tosin olisi avuksi.
No, haluatko siis molempien kehysten latautuvan samaan aikaan uudelleen, vai mitä? Voisitko hieman selventää kysymystäsi?
Minulla on useampikin vastaus olemassa, mutta selitä ensin hiukan tarkemmin.
Haluan toisen kehyksen latautuvan toisen sivun latauduttua (joka on viereisessä kehyksessä). Eli varmaan siihen toiseen sivuun pitäisi laittaa onLoad eventillä funktiot joilla se päivittää sivun viereisestä kehyksestä, en vain osaa tehdä tätä.
Hankalampi juttu... Mihin muuten tarvitset kyseistä toimintoa?
Sivu on jaettu useisiin frameihin (hankasoft.net), joista yhdessä on navigaatio ja sivuston foorumi systeemiin johtava pikakirjautuminen. Tarkoitus olisi saada pikakirjautuminen muuttumaan kirjauduttaessa muotoon "olet kirjautunut, kirjaudu ulos jne...).
Ajattelin tehdä niin, että PHPlla (tämä on jo, mutta toimii vain jos sivusto päivitetään) tutkitaan onko käyttäjä kirjautunut sisään (if (!isset(pblcookie jne...) riippuen erilaisen kirjautumisvalikon navigaatio frameen.
Javascriptin upottaisin foorumin (PBlang 4.58) loggin.php:hen siten, että kirjautumisen yhteydessä päivittyisi myös frame jossa valikko on. (valikko sivu on yhteensä jotain 3-4kb iso, joten ajattelin että tämä ei hidastaisi suunnattomasti) Framen päivittyessä näkyisi myös valikko oikein, sillä cookie luodaan jo PHPlla, jolloinka se on olemassa varmasti jo siinävaiheessa kun "navigaatio" frame päivittyy.
Muuten toimisi varmaankin se "yhtäaikaa" päivittyminen, mutta tällöin olisi tuuripeliä, että ehtiikö login.php PHP koodi luoda keksin, jos ei ehtisi, päivittyisi valikko väärin tilanteeseen, jossa et olisi vielä kirjautunut.
Vähän vaikea tilanne... En tunne javascriptiä hyvin, uskon että on helpompikin vaihtoehto?
No, luulisin, että on se helpompikin tapa.
Tuo on kylläkin valitettavasti sen verran vaikea homma, että en osaa auttaa ainakaan kovin hyvin :(
PHP:tä en tunne (oliko se ruudulle kirjoitus nyt echo vai mikä :), mutta kannattaa varmaan kokeilla ihan vaan HTML:ää.
Voithan yrittää käyttää HTML:n meta-tagien "refresh"-mahdollisuutta, tai vaikka tehdä sen login:n omaksi framekseen, ja yrittää sitten jotain muuta.
offtopic: Hankasoft.netin teksteissä olevat Ä:t ja Ö:t eivät näy kuin kysymysmerkkeinä.
Kokeileppa tätä koodia:
<script language="JavaScript" type="text/javascript"> <!-- window.open("uusi2.html", "kehys2") --> </script>
<body onload="workYourFunkyMagic()">
Jaa, toimisikohan tällainen:
<html> <head> <title>Joku testi</title> </head> <body onLoad="window.loginframe.location.reload();"> Sivun sisältö... </body> </html>
Voithan päivittää koko index sivun?
niin, laitat vain, reload="index.php"
Aihe on jo aika vanha, joten et voi enää vastata siihen.