Gå til innhold

Dobbel include??


Gjest Slettet+432

Anbefalte innlegg

Gjest Slettet+432

Hei...

 

Trenger litt hjelp. Står helt fast her nå.

 

Vet noen hvordan man lager en side sånn at det blir for eksempel:

 

index.php?side=admin&seksjon=adminhoved ?

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse

variablene som ligger i adressen slik du sier, får du tak i ved å bruke $_GET['variabel'].

 

Ved å ha et lite script i index.php fila di da, så kan du jo avgjøre hva du skal inkludere utifra verdien til feks side.


switch($_GET['side'])

{

  case 'admin': include 'admin.php';

  break;

  case 'nyheter': include 'nyheter.php';

  break;

  default: include 'nyheter.php';

  break;

}

 

Er en mulig måte å gjøre det på. I det minste veldig lett å forstå :D Finnes nok mange bedre måter å gjøre det..

Lenke til kommentar
Gjest Slettet+432
variablene som ligger i adressen slik du sier, får du tak i ved å bruke $_GET['variabel'].

 

Ved å ha et lite script i index.php fila di da, så kan du jo avgjøre hva du skal inkludere utifra verdien til feks side.


switch($_GET['side'])

{

  case 'admin': include 'admin.php';

  break;

  case 'nyheter': include 'nyheter.php';

  break;

  default: include 'nyheter.php';

  break;

}

 

Er en mulig måte å gjøre det på. I det minste veldig lett å forstå :D Finnes nok mange bedre måter å gjøre det..

 

Jeg har allerede et vanlig sånt skript... switch.. Men jeg vil bruke det til å inkludere admin filene, f. eks. index.php?side=admin&seksjon=nyheter. Hvordan legger jeg det inn / setter det opp da?

Lenke til kommentar

Tror ikke helt at det var det han mente...

La meg prøve å forklare...

 

Det han lurer på er om det går ann bruke to switch'er, på bare et linkekall.

Eks:

 


index.php?side=admin&seksjon=adminhoved  



switch($_GET['side']) 

{ 

  case 'admin': include 'admin.php'; 

  break; 

  case 'nyheter': include 'nyheter.php'; 

  break; 

  default: include 'nyheter.php'; 

  break; 

}

switch($_GET['seksjon']) 

{ 

  case 'adminhoved': include 'adminhoved.php'; 

  break; 

  case '2': include '2.php'; 

  break; 

  default: include 'error.php'; 

  break; 

}

// denne funker ikke, dette er bare et eks på en eventuel løsning.

 

Er dette mulig?

Lenke til kommentar

Spørs litt hvordan du har satt opp ting.. men du kan f.eks ta flere select/if/whatever etter hverandre.. en mulig løsning er f.eks..

 

 


if($_GET['side']=='admin')

 menu = 'adminmenu.php';

else

 meny = 'vanligmenu.php



switch($_GET['seksjon']){

 case 'hoved': seksjon = 'hovedside.php';

 break;

 case 'nyheter': seksjon = 'nyheter.php';

 break;

}

 

og hvis du da bruker tables, frames eller whatever.. kan du f.eks i menyen ta en ..


include menu;

og på hoveddelen av sida..


include seksjon;

Lenke til kommentar

mm, det bør gå. Skader uansett ikke å prøve seg frem.

 

Men iallfall.. når du har en url av type index.php?side=kake&farge=lilla&seksjon=nyheter&sesamstasjonfigur=maxmekker, vil du få tilgang til de forksjellige verdiene vha $_GET['variabel'].

$_GET['side'] = kake

$_GET['farge'] = lilla

$_GET['seksjon'] = nyheter.. osv

Lenke til kommentar

Sjekk ut www.orakel.ntnu.no/~tosh/includetest for en liten demo..

 

test.php er hovedsiden

test.phps for å få se phpsource

/menyer har menyene adminmeny.php og vanligmeny.php

/seksjoner har seksjonene hoved.php, nyheter.php og forum.php

 

test ut følgende adresser:

test.php?seksjon=nyheter

test.php?meny=admin&seksjon=nyheter

test.php?meny=admin&seksjon=nyheter&farge=red

 

se i sourcen hvordan jeg gjorde det med color.. den virker ganske enkel og snill.. men hvis du prøver å skrive f.eks ...

test.php?seksjon=nyheter&farge=>heisann! ...

vil det i koden bli likt..


<body bgcolor=>

heisann! ... >

 

Dette kaaan være en sikkerhetsrisiko..

Lenke til kommentar

Et par tanker om include($_GET['side'].php)

 

Jeg bruker å legge gyldige sider i en array og kjører

if (in_array($_GET['side'], $GyldigeSider)

 

Når det gjelder side og seksjon så regner jeg med at gyldigheten til seksjon er avhengig av hvilken side du er på ta f.eks.

http://url.til/script.php?side=admin&seksjon=passord.

 

Da må du først sjekke hvilken side som skal inkluderes f.eks admin.php så må du i den siden (admin.php) sjekke hvilken seksjon den skal vise. Det vil se ca. slik ut.

 

side.php


$GyldigeSider=array("admin, nyheter, forum");

if (isset($_GET['side'])

{

if (in_array($_GET['side'], $GyldigeSider)

 include($_GET['side'].'.php');

}

else include("forside.php");

admin.php


$GyldigeSeksjoner=array("brukere, nyheter, forum");

if (isset($_GET['seksjon'])

{

if (in_array($_GET['seksjon'], $GyldigeSeksjoner)

 include($_GET['seksjon'].'.php');

}

else include("login.php");

Håper dette hjelper.

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