Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Include ja linkit

Sivun loppuun

presidentti [03.05.2007 22:43:22]

#

Tiedän, olisi ehkä pitänyt koittaa hakea, mutta hommalla on kiire, ja tarvitsen apua.

Olen uusi php:n kanssa, ja tarvitsen apua linkkien aukeamispaikan määrittämisessä:

Olen includella jakanut index.php:n kahteen osaan:

<?php
include("menu.php"),
include("content.php");
?>

jotka koostuvat kahdesta yksisoluisesta taulusta. Kuinka saan järkevimmin avattua linkit menu.php:stä content.php ?

ajv [03.05.2007 22:45:37]

#

Katsoppa tämä koodivinkki.

presidentti [03.05.2007 23:14:16]

#

Ei oikein auennut kyllä. Ilmeisesti pitäisi jokin silmikka rakennella? Viittiskö joku vääntää rautalangasta?

Includella kyllä sain sivut näkymään oikein, mutta linkeissä piilee se vika, että ne eivät aukea siihen contentin tilalle.

peg [03.05.2007 23:53:18]

#

Koita tätä. Luo kansio testi. Tee noi 3 linkki.php tiedostoa ja index.php johon tallennat nuo linkit ja koodin alta. Katso toimintaa ja sovella.

   <a href="linkitys.php?sivu=linkki1.php">linkki1</a>
   <a href="linkitys.php?sivu=linkki2.php">linkki2</a>
   <a href="linkitys.php?sivu=linkki3.php">Linkki3</a>
<?
switch($_GET['sivu']){
case "linkki1": include("linkki1.php");
break;
case "linkki2": include("linkki2.php");
break;
case "linkki3": include("linkki3.php");
break;
default: include("linkki1.php"); //sivu joka ladataan jos ei ole annettu muuta
break;
}
?>

presidentti [04.05.2007 00:44:57]

#

Ei tuolla tavalla tulosta kuin linkki1:sen..
Mutta jatkan uusilla silmillä huomenna, eiköhän tämä toimimaan saada.

Blaze [04.05.2007 01:40:43]

#

presidentti kirjoitti:

Ei tuolla tavalla tulosta kuin linkki1:sen..

Se valuu aina oletuscaseen, koska...

peg kirjoitti:

<a href="linkitys.php?sivu=linkki1.php">linkki1</a>

...näihin linkkeihin lipsahti loppuun ylimääränen .php

presidentti [04.05.2007 12:23:44]

#

Jotain en nyt vielä tajua.. Muuten kunnossa mutta linkit ei aukea "content" soluun eikä jätä "menua" vaan aukaisee linkin ihan tyhjällä sivulla. Mikä täs vielä mättää?

ajv [04.05.2007 12:42:27]

#

Sulla pitää siellä content.php:ssä olla se koodi, joka avaa sen halutun tiedoston. Eli laitat tuon koodivinkin sinne content.php:hen ja sitten linkit sinne menuun ihan

index.php?page=news
index.php?page=info

jne...

presidentti [04.05.2007 12:47:41]

#

Mieluummin nyt pysyisi jo tuossa switch tavassa, kun sen kanssa olen nyt pisimmällä.

Kray [04.05.2007 12:54:20]

#

Jos tarkoitat, että miten voit määrittää mihin php includoi sivun, niin auttaisiko tämä:

<?php
echo('Tähän laitat html:n alkutagit. <br><br>');
include("menu.php");
echo('Tähän laitat html:n väliin tulevat tagit. <br><br><br><br>');
include("content.php");
echo('<br><br><br><br>Tähän laitat html:n loppuun tulevat tagit.');
?>

Eli siis laitat includen siihen mihin sen tekstin kuuluisi tulla. Itse käytän aina index.php?sivu=etusivu... jne. if-lauseen kanssa.

ajv [04.05.2007 12:54:24]

#

presidentti kirjoitti:

Mieluummin nyt pysyisi jo tuossa switch tavassa, kun sen kanssa olen nyt pisimmällä.

Se ei vain ole pidemmän päälle kovin kätevä, kun aina uutta sivua lisättäessä joutuu puukottamaan php-koodia. Mutta ihan sama homma, laitat ton switch-rakenteen sinne content.php:hen ja linkit tyyliin:

index.php?page=linkki1
index.php?page=linkki2

jne...

presidentti [04.05.2007 13:32:27]

#

Nii, siinä mielessä tuo koodivinkki olisi varmaan kätevämpi. Pitää vaan jaksaa koittaa, niin eiköhän se siitä.

Kuhan sivuista saisi
Kuhan nyt sivuista saisi ne helposti päivitettävät. Lähinnä näiden sivujen ongelma tulisi olemaan menussa, jonka sais näin varmaan helpoiten päivitettyä uutta sivua lisättäessä.

EgeTheGod [04.05.2007 16:28:56]

#

http://www.glweb.org/kotisivu/koodit/index.php?lk=4&cat=8&koodi=35

Toi on hyvä.

lapm [04.05.2007 19:04:54]

#

Itselläni on koodi joka tarkistaa onko pyydetty sivu olemassa sivu hakemistossa, jos ei ole niin antaa oletussivuna etusivun. :) Vinkkinä mainittakoon noin jos aikoo yrittää tehdä moottoria jota ei tarvitse puukottaa uusiksi joka sivun kohdalla.


Sivun alkuun

Vastaus

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

Tietoa sivustosta