Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP page management

GoldenDragon [03.04.2006 15:57:19]

#

Tämän koodin tarkoituksena on vaihtaa sivun vasenta "navigointi"-kolumnia
sen mukaan, mikä on tekstisisältö. Esimerkiksi jos:
http://sivu.com/index.php?e=linkit, niin i:n arvon tulisi olla 7. (Sivun
mukainen.) Eli: http://sivu.com/index.php?e=linkit&i=7, jossa e($e) on sivu
ja i($i) on sivunmukainen sivunavigaatio (id-ankkuriluettelo.)
Lue koodi ymmärtääksesi teksti.

<?php
/* HUOM! Tämän koodin ei ole välttämättä tarkoitus
toimia oikeasti. Se on vain esimerkki siitä, mitä
koodin tulisi sivulla tehdä. */

//sivun yläosa.
	require_once("yla.php");

//sivunmukainen navigaatio (otsikoittain, kohteittain.)
	require_once("$i.php");

//muulle sisällölle (oikea kolumni.)
	require_once("oik.php");

//Sivun tekstisisältö (toinen vaihtuva kohde.)
	require_once("$e.php");

//sivun alaosa.
	require_once("ala.php");


/* Alla olevan pitäisi vaihtaa kolumnin
sen mukaan, mikä arvo muuttujalla $e on.
esimerkiksi:
$e=etusivu => $i=etusivun navi, jne. */

switch($e){
  case etusivu:
  		$s="1";
  		$i=$s;
  		return $i;
  		break;
  case palvelut:
  		$s="2";
  		$i=$s;
  		return $i;
  		break;
  case kuka_mina_olen:
  		$s="3";
  		$i=$s;
  		return $i;
  		break;
  case blog:
  		$s="4";
  		$i=$s;
  		return $i;
  		break;
  case info:
  		$s="5";
  		$i=$s;
  		return $i;
  		break;
  case linkit:
  		$s="6";
  		$i=$s;
  		return $i;
  		break;
  case palaute:
  		$s="7";
  		$i=$s;
  		return $i;
  		break;
}

?>

Miten tuo switch osuus pitäisi kirjoittaa, että se oikeasti toimisi? Onko
jokin parempi tapa, kuin switch?
Kysymys voi olla kaukaa haettu, vaikeasti ymmärrettävä. Jos on, niin
kertokaa.
Entä voiko tätä oikeasti edes tehdä switch:lla?

Clawhammer [03.04.2006 17:58:36]

#

Kyllähän tuon saa switchiä käyttäen toimimaan, vaihda koodin suoritusjärjestystä eli heitä tuo koko switch juttu yläosaan ennen noita includeja. Toi return $i on mun mielestä turha. Niin ja ton e muuttujan alustat näin

$e = $_GET['e'];

Vastaus

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

Tietoa sivustosta