olen paljon rakennellut sivuja, joissa olen käyttänyt "kehyksiä" jonne on avautunut linkkini. Osaako kukaan sanoa miten saan tehtyä sivyt ilman kehyksiä, niin että sivut aukeavat vaikka keskelle "tableen"
Tuolla yksi lyhyt ja ytimekäs keskustelu aiheesta:
https://www.ohjelmointiputka.net/keskustelu/
Milläs tuo pitäisi toteuttaa, ja minkäs tyyppisiä linkkejä siihen avataan?
PHP:lla tuo onnistuu tekemällä "sivupohja" ja varaamalla siihen tiettyyn kohtaan sisällölle alue.
<html> <head> <title>Lorem ipsum</title> </head> <body> <?php // ladataan sisältö // sisältötiedostoa ei tässä tarkasteta mitenkään // tietoturvan kannalta pitäisi etukäteen tietää onko tiedosto olemassa, ja tietää mitä se sisältää. //Oletetaan että se sisältää vain html-tägejä. // echo file_get_contents("sisaltotiedosto_etusivu.html"); ?> </body> </html>
Jos linkkien sisältö on vain omien sivujen alla (ei siis muita nettisivuja), niin sisältö on erittäin helppo suunnitella etukäteen, jolloin siitä ei tarvitse parsia pois ylimääräisiä html-tägejä.
Jos linkeistä aukeaa ulkopuolisia nettisivuja, niin varteenotettava vaihtoehto on iFrame, jolloin iFramen sisältö ei vaikuta sivujesi rakenteeseen.
edit:
str4nd, et vastannut kysymykseen. Tuollaiset typerät vastaukset haittaavat koko keskustelualueen tasoa. (Mod. edit: sinne meni sekin tyhmyys.)
edit:
Myös buzzword AJAX:lla voit ladata sisältöä sivuillesi, joskaan kysymyksesi perusteella taitosi voivat olla vielä koetuksella.
suurin osa on minun omia alasivuja, en ole enne tehnyt php koodausta? mihin kohtaan länttään tuon koodipätkän?
Tuo koodipätkä on sivun yläreunasta alareunaan (huomaa html-tägit.), josta puuttuu kokonaan navigaatio ja ylimääräiset härpäkkeet, joten sinun pitää muuttaa tuota suuresti.
Sen sijaan jos sinulla on php-tuki sivuillasi, voit kokeilla sijoittaa tuon ( echo file_get_contents("sisaltotiedosto_etusivu.html"); ) pätkän sivuillesi ja katsoa mitä tapahtuu.
jep, kuten sanoin olen vielä aika uuno ton php jutun kanssa. kun olen läntännyt koodin sivuilee, niin millä määritän että linkki avautuu sivun keskellä olevaan osioon.
No se avautuu juuri siihen mihin haluat. Esimerkissäni se "aukeaa" juurikin täysin tuohon file_get_contents-funkkarin tilalle.
Tässä on kaksi vaihtoehtoa. Ensimmäisenä se perinteinen, epäselvään sivustoon johtava tapa:
<!-- Tähän ensin kaikki tarvittava <html>...<body> ja navigaatiovalikko ynnä muu sellainen. --> <div id="sisalto"> <?php # Linkkien pitää olla muotoa index.php?sivu=abcd # Jos sivua ei ole valittu, liitetään index.htm if (!empty($_GET['sivu'])) { $sivutiedosto = $_GET['sivu'].".htm"; } else { $sivutiedosto = "index.htm"; } # Lisättävän tiedoston pitää sisältää se HTML-koodi, jonka haluat tähän div-tagien väliin. readfile($sivutiedosto); ?> </div> <!-- Ja sitten koko se sivun alareuna, </body></html> -->
Toisella tavalla säilyy sivuston rakenne selvempänä, kun sivut ovat käyttäjienkin näkökulmasta omissa tiedostoissaan.
<?php require_once("ylaosa.php"); # ylaosa.php sisältää kaikille sivuille yhteisen yläosan eli kaiken sivun alusta sisältöosan alkuun. ?> <!-- Tähän keskustan sisältämä koodi. --> <h1>Keskusta</h1> <?php require_once("alaosa.php"); # alaosa.php sisältää kaikille sivuille yhteisen alaosan eli kuskustan sulkevan tagin ja siitä loppuun sulkevaan html-tagiin asti ?>
Niin no jos haetaan selkeää rakennetta, niin kannattaa lukaista tuo vinkki kommentteineen:
http://mureakuha.com/koodikirjasto/874
<html> <head> <title>Lorem ipsum</title> </head> <body> <a href="index.php?sivu=kokeilu.html">toimiiko</a><br> <br> <br> <div id="sisalto"> <?php # Linkkien pitää olla muotoa index.php?sivu=abcd # Jos sivua ei ole valittu, liitetään index.htm if (!empty($_GET['sivu'])) { $sivutiedosto = $_GET['sivu'].".htm"; } else { $sivutiedosto = "index.htm"; } # Lisättävän tiedoston pitää sisältää se HTML-koodi, jonka haluat tähän div-tagien väliin. readfile($sivutiedosto); ?> </div> </body> </html>
sorry kaverit, te varmaankin olette neuvonut asian niin hyvin kun sen vaan voi mutta en vaan ymmärrä.
Niin sullahan lukee osoiterivillä nyt sivu=kokeilu.html
ja jolloin PHP-koodissa $_GET['sivu'] sisältää tuon kokeilu.html
. Kuitenkin tuossa koodissa lisätään tuon $_GET['sivu']:n perään vielä ".htm", joten yrität nyt siis sisällyttää tiedostoa nimeltä kokeilu.html.htm
.
Olikohan tarpeeksi rautalangasta väännetty... :)
P.S. Siirsin tämän Yleisestä keskustelusta PHP-alueelle.
poistin tuon .html päätteen linkki rivistäni, mutta eipä vieläkään tunnista sivua.
Laitoin tollaselle sivulle
http://web.maxinetti.fi/maxi.jani.861/sivut/
pitääkö tuo index sivu tallentaa php, vai htm muotoon.
ainakaan minun kotisivuni ei tue php muotoa?
Mitenkä saan täämän Metabolixin koodin ymmärtämään kahta päätettä, nyt tämä avaa .htm tiedoston, mutta ei .php
$sivutiedosto = $_GET['sivu'].".htm";
muotoon
$sivutiedosto = $_GET['sivu'].".php";
Kannattaa pitää kaikki sivut tallennettuna php-sivuiksi, niin ai tarvitse arpoa tota päätettä.
ok. sen sainkin jo tehtyä, mutta saako tällä avattua muuta tiedostoa kuin index.php tuohon div alueelle, yritin avata vieraskirja.php, se avautuu täytenä ikkunana sivun päälle???
Tarkoitukseni olisi rakentaa http://web.maxinetti.fi/maxi.jani.861/testi/ tuollainen sivu (sivulla ei nyt toimi mitkään .php jutut, koska maxinetin ftp sivuilla ei ole tukea) keskellä sivua on alue jonne haluaisin kaikkien linkkieni avautuvan, mutta tosiaan siihen avautuu ainosastaan määritteellä $sivutiedosto = "etusivu.php"; mutta kaikki muu .php linkit avautuu eri ikkunaan tai nykyisen sivun päälle???
Linkit näyttävät olevan hajalla. Osoitteen pitäisi olla muotoa
index.php?sivu=vieraskirja
Nyt sinulla on muotoa
vieraskirja.php?sivu=vieraskirja
Nyt yksikään noista linkeistä tuolla sivulla ei toimi Etusivulle-linkkiä lukuunottamatta. Niin, ja kaikkien tiedostojen pitäisi sitten olla asianmukaisesti nimettyjä ja oikeilla paikoillaan (vieraskirja.php-tiedosto samassa kansiossa index.php:n kanssa)
noniin nyt toimii, kiitos Teuvo
Aihe on jo aika vanha, joten et voi enää vastata siihen.