Gå til innhold

Dobbel include??


Gjest Slettet+432

Anbefalte innlegg

Gjest Slettet+432
Skrevet

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!

Videoannonse
Annonse
Skrevet

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

Skrevet

Er det ikke bare å ta

include ("$side.php");

da?

:-?

 

 

 

EDIT:

Eller eventuelt

 


if ($side) {

include ("$side.php");

}

else {

include ("nyheter.php");

}

Gjest Slettet+432
Skrevet
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?

Skrevet

anbefales å ta en liten if, for å kun behandle gyldige sider.. hvis ikke kan noen vha av

include ("$side.php");

enkelt kjøre f.eks en index.php?side=www.noe.com/slemphp

Gjest Slettet+432
Skrevet

Det der skjønte meg ikke mye av... Tror du du kan gi meg et helt skript ?

Skrevet

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?

Skrevet

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;

Gjest Slettet+432
Skrevet

Bruker tables.

 

Så da kan jeg altså bruke disse kodene? Så blir det sånn index.php?side=admin&seksjon=nyheter (eks)

Skrevet

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

Gjest Slettet+432
Skrevet

Ikke for å være innpåsliten, men tror du at du kan mekke et helt eksempelskript?

Skrevet

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

Gjest Slettet+432
Skrevet

Du.. mente egentlig skript, som du kan poste sourcen til her :)

Skrevet

test.phps-fila .. der står det meste du trenger, egentlig..

 

www.orakel.ntnu.no/~tosh/includetest/test.phps

 

gjorde litt om på ting, for å unngå den fargesvakheten.. :)

Gjest Slettet+432
Skrevet

ok, tusen takk for at du tok deg tid :D:D

Skrevet

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.

Skrevet

Men uansett.. adminsider ønsker du ofte å ha passordbeskyttelse på..

Da kan det være en ide å legge alle de sidene i en undermappe som du så passordbeskytter vha htaccess eller noe.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...