Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sivunvaihto

Sivun loppuun

jamppa110 [24.07.2006 12:48:50]

#

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"

ajv [24.07.2006 13:00:48]

#

Tuolla yksi lyhyt ja ytimekäs keskustelu aiheesta:
https://www.ohjelmointiputka.net/keskustelu/12514-sama-sivu-eri-sisältö

Lebe80 [24.07.2006 13:02:33]

#

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.

jamppa110 [24.07.2006 13:11:41]

#

suurin osa on minun omia alasivuja, en ole enne tehnyt php koodausta? mihin kohtaan länttään tuon koodipätkän?

Lebe80 [24.07.2006 14:29:14]

#

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.

jamppa110 [24.07.2006 14:42:44]

#

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.

Lebe80 [24.07.2006 15:11:29]

#

No se avautuu juuri siihen mihin haluat. Esimerkissäni se "aukeaa" juurikin täysin tuohon file_get_contents-funkkarin tilalle.

Metabolix [25.07.2006 10:06:09]

#

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
?>

ajv [25.07.2006 10:45:38]

#

Niin no jos haetaan selkeää rakennetta, niin kannattaa lukaista tuo vinkki kommentteineen:
http://mureakuha.com/koodikirjasto/874

jamppa110 [26.07.2006 00:36:46]

#

<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ä.

ajv [26.07.2006 09:14:29]

#

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.

jamppa110 [27.07.2006 23:49:52]

#

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/index.html


pitääkö tuo index sivu tallentaa php, vai htm muotoon.
ainakaan minun kotisivuni ei tue php muotoa?

jamppa110 [18.08.2006 08:53:34]

#

Mitenkä saan täämän Metabolixin koodin ymmärtämään kahta päätettä, nyt tämä avaa .htm tiedoston, mutta ei .php

ajv [18.08.2006 09:05:41]

#

$sivutiedosto = $_GET['sivu'].".htm";

muotoon

$sivutiedosto = $_GET['sivu'].".php";

Kannattaa pitää kaikki sivut tallennettuna php-sivuiksi, niin ai tarvitse arpoa tota päätettä.

jamppa110 [18.08.2006 22:33:57]

#

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???

jamppa110 [19.08.2006 00:40:32]

#

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???

Teuvo Töhvelö [19.08.2006 00:52:00]

#

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)

jamppa110 [21.08.2006 23:52:28]

#

noniin nyt toimii, kiitos Teuvo


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta