Gå til innhold

switch, require og title problem


Anbefalte innlegg

Jeg har satt opp hovedmenyen slik (deler av den):

<div id="menu_container">
 <a href="?id=page-a">Side A</a>  | 
 <a href="?id=page-b">Side B</a>
</div>

Så har jeg valgt å inkludere de aktuelle sidene slik (switch):

<div id="mainContent_container">
<?php
swith ($_GET['id'])
{
 case 'page-a': $file = 'a'; break;
 case 'page-b': $file = 'b'; break;
}


 if (!isset($_GET['id'])) { require ('path/to/welcome.php'); }
 else
 {
   $path = 'path/to/' . $file . '.php';

   if (!file_exists($path)) { require ('path/to/error.php'); }
   else { require ($path); }
 }
?>
</div>

 

Problemstillingen min er hvordan jeg får variert title-, description- og keywords-tags på sidene?

Samt hvordan jeg får uthevet menyknappen basert på aktivt innhold (inkludert dokument)?

 

Er det slik at jeg må sette opp en switch-kommando på hver av dem?

 

 

Er det en bedre måte å gjøre det på?

Har forsøkt meg litt på å hive alt av innhold i en database. Men fikk ikke vridd hode rundt det hele og hcordan jeg skulle klare å hente det ut igjen på riktig/effektiv/smart måte. Så lot det ligge foreløpig.

Endret av Yawa
Lenke til kommentar
Videoannonse
Annonse

Du kan jo kanskje gjøre det slik:

$dir	= '/home/var/public_html/';
$page	= $_GET['page'];
if(file_exist($dir.$page)) {
$title = array(
	'page-a'	=>	'Side 1',
	'page-b'	=>	'Side 2',
	'page-c'	=>	'Side 3'
);
} else {
$title = 'error';
}

echo '<title>'.$title[$page].'</title>';

 

Edit: Forresten, så står det swith og ikke switch nesten øverst i koden din. ;)

Endret av Jooakim
Lenke til kommentar

takk for svar. Skal prøve det ut og se om jeg kan få til noe smart der.

La merke til det selv når du påpekte det, swith. Men skrev koden kjappt inn bare, så merket ingentigng i scriptet.

 

Hvis jeg syns dette blir noe tungvindt må jeg kansje gå for database... Forsøke å få vrid hodet rundt den nøtta...

Lenke til kommentar

Det er min erfaring at det er enklest å ta all behandlingen av forespørselvariablene før man begynner å skrive til siden.

 

Da vil man vite hvilket menyvalg som er aktivt når man skriver ut menyen og man vil vite om det har oppstått feil slik at ingen menyvalg er aktive.

 

Da kan man også omdirigere brukeren til andre sider eller laste inn siden på nytt med nye forespørselvariabler hvis man f.eks. har mottatt data som skal behandles og sendes videre for så å vise siden på nytt og dermed ungå dobbelsending hvis brukeren oppfrisker siden med F5 el.l.

 

Håper det er til hjelp.

Lenke til kommentar
Gjest Slettet-rXRozPkg

Legg rett og slett switch-koden din før du skriver ut <html> (og <title>).

Så lenge du ikke overskriver variabelen så kan require ($path); fortsatt ligge på samme sted.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...