Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: index?=etusivu (taas kerran)

abina [12.02.2004 10:26:40]

#

Heips! löysin tuossa aika yksinkertaisen koodinpätkän mutta tarviaisin siihen vähän muutoksia, mutta tietämys puuttuu. joten tässä koodi:

<?php
   if(!isset($_GET["id"])) { $id = "etusivu"; }
   else { $id = $_GET["id"]; }
   if(!file_exists($id . ".php")) { $id = "error"; }
   include($id . ".php");
?>

ja tuosta haluaisin sellaisen että jos id on 03 niin sillon se includettaa samassa kansiossa kuin index.php olevan 03.php tiedoston(tuotteiden pääsivu). mutta jos id on 0301 niin sillon se menee kansioon "tuotteet" ja sitten aukaisee sieltä 01.php tiedoston. mutta kuinkahan tämä käytännössä onnistuu? eli se ensimmäiset kaksi numeroa kertoo missä kansiossa se tiedosto on ja sen jälkeiset numerot kertoo tuotteelle tarkoitetun tiedoston. vaikeesti selitetty mutta selittäkää minulle yksinkertaisesti! :)

sooda [12.02.2004 10:42:32]

#

kai näin:

<?php
if(!isset($_GET["id"])) $id = "etusivu"; else $id = $_GET["id"];
if(!file_exists($id . ".php")) $id = "error";
if ($id=="0301") header("location: tuotteet/01.php"); else include($id . ".php");
?>

abina [12.02.2004 10:56:42]

#

Niin mutta tuo ei ole kovin toimiva koska tuo tuotteen sivu voi olla moni muu. muuten joutuisi joka tuotteelle tekemään tuon viimeisen rivin ja se olisi aika kova homma. eikös?

mutta sellaista etsin joka automaattisesti hoitaisi homman. esim. silleen et jos id on "03xx" niin sillon se hakee tuotteet kansiosta xx.php tiedoston. mutta jos id on 03 niin sillon se hakisi 03.php tiedoston.

jos kukaan ei viiti kirjoittaa koodia niin jos viitisi antaa edes ideoita miten se voisi onnistua niin voisin yrittää etsiä itse vastauksen. Khiitos!

ajv [12.02.2004 13:03:29]

#

Kyllä harvinaisen hölmö ratkaisu includettamiseen. Ite tekisin ton jotenki silleen, et 03.php:hen, joka on siis tuotteiden etusivu, laittaisin oman includetus function, joku includettaa, jos esimerkiksi muuttuja $_GET['id_2'] on määritelty.

Mutta tässä on hölmö ratkaisu hölmöön ongelmaan:

<?php
$id = $_GET["id"];
if((strlen($id) > 2) & (strlen($id) <= 4)) {
	$id = substr($id,2);
	$id = "tuotteet/".$id;
	}
if(!isset($_GET["id"])) 		$id = "etusivu";
if(!file_exists($id . ".php")) 	$id = "error";
include($id.".php");
?>

Testaamattomana, mutta pitäis soveltua juuri_tuohon_sun_tarpeeseen. Mutta jos $_GET['id'] onkin esimerkiksi "sivu", niin yrittää etsiä "vu.php":ta. Kannattaisi kyllä yrittää suunnitella sivut toimimaan jotenkin muuten.

abina [12.02.2004 15:27:47]

#

Kiitos ajv! mutta ei minullekkaan tullut mieleen että sen tuotteet sivulle voisi laittaa oman includettauksen. joka kyllä kuulostaa paremmalta. joten teen niin. mutta vielä varmennus: miten include käskyyn laitetaan että se hakee sen $id.php tiedoston kansiosta $id?

JTJ [12.02.2004 15:35:08]

#

Kenties näin:

include($id.'/'.$id.'.php');

abina [12.02.2004 15:55:59]

#

kiitos!

Vastaus

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

Tietoa sivustosta