Gå til innhold

php links


Anbefalte innlegg

Videoannonse
Annonse

Heisann!

 

Trur du roter litt med uttrykket "link". Ein link kan du trykka på, og så bli sendt til ei anna side ein plass på Internet.

 

Om du meiner ei side som endrar seg dynamisk etter kva parametre den får, så er dette lett å forklare.

 

For å ta eit eksempel eg sjølv har laga, ta ein kikk på http://www.sourcecode.no/delphi/artikler/a...action=overview. Her ser du at den har ein parameter, "action" som blir satt til "overview". Oversatt til norsk: Handling = oversikt. Dette gjøres enkelt i skriptet ved å sjekke for variabelen $action, og se hva denne er stilt inn på. Det er ikkje sikkert at variabelen $action er satt, du må kanskje hente den ut med $HTTP_POST_VARS, $HTTP_GET_VARS, eller $HTTP_POST_FILES, alt etter kva type variabel du har med å gjera. Har aldri hatt behov for å nytta meg av dette sjølv, men du gjer det noko slikt som dette:

 

$action = $HTTP_POST_VARS['action'];

 

Alt dette kjem ann på om track_vars er slått på eller ikkje. Track_vars er på som default i PHP, og den er alltid slått på i PHP fra v4.0.3.

 

Når du veit dette, er det lett å sjekka kva $action inneheld, ved hjelp av ein enkel if-setning. Berre spør om det er noko anna du ville vete. :wink: Enjoy!

Lenke til kommentar

Her er hvordan jeg linker på C/C++ @ Sourcecode.no. Det du ser under er koden i index.php og det fungerer slik at du setter variabel $side på f.eks denne måten: http://www.sourcecode.no/cpp/index.php?side=nyheter

 

Dette vil hente fram siden nyheter.php. Som du ser bruker jeg switch kommandoen i stedenfor mange if.

 

 

if (isset($side)) {

switch($side) {

case "nyheter":

include "nyheter.php";

break;

case "artikler":

include "/cpp/artikler/artikkeloversikt.php";

break;

case "filer":

include "filer.php";

break;

case "prosjekter":

include "prosjekt.php";

break;

case "linker":

include "linker.php";

break;

case "boker":

include "boker.php";

break;

case "kontakt":

include "kontakt.php";

break;

default:

include "nyheter.php";

break;

}

}

else {

include "nyheter.php";

}

Lenke til kommentar
  • 2 uker senere...

Hei!

 

Jeg lette legne selv etter akkurat dette. Mange steder blir det slik fordi det meste de har er lagret i en database, men hvis du vil ha det for det ser "profft" ut gjør dette:

 

<?php

if ($menu == test) {

// her kan du includere en fil, eller ha sså mye tekst du føler for...vil du ha fler gjør du slik:

}

elseif ($menu == test2) {

include ("test2.php");

}

?>

 

Og ut i fra dette kan du finne på masse ting selv, kommer jo ann på hvor mye php du kan da...

Lenke til kommentar

For å fortsetja på ironman's kode, kan ein berre ta å gjera følgjande for å inkludere den nevnte fila. T.d., om ein vil inkludera database.php, kallar ein opp

 

index.php?side=database

 

Index.php inneheld då følgjande kode:

<?php

if (isset($side)) {

include($side.'.php');

}

?>

Då vil sida database.php verta loada.

:smile:

Lenke til kommentar
  • 2 uker senere...

hmmz.. ikke værre nei =)

 

takker så meget =)

 

 

btw.. hvor finner man et guestbook script som er enkelt å lage i sitt eget design ? (php)

 

trenger bare noen få funksjoner som:

countdown, sånn at man kan ha så å så mange tegn

lagre i mysql database..

 

det er det jeg trenger, any tips ??

 

Dan Stamnes

Lenke til kommentar
  • 9 år senere...

jeg benytter så si altid if/else og switch()-kommandoen i forbindelse med navigasjon i PHP.

Si at jeg har en meny da: Forsiden, Side 1, Side 2, Side 3 etc.

 

Så kjører jeg første en if/else-statment slik:

if(!isset($_GET['side']))
/*
 ingen side er definert, altså linken din kan være følgende:
 www.dinside.tld/
*/
{
 include('default.php');  //  hvor defaul.php er forsiden
}
else
{
/*
 nå har brukeren valgt en side i menyen din, og linken blir endret til dette:
 www.dinside.tld/inde.php?side=side-1
*/
 switch($_GET['side'])
 {
   case 'side-1': include('side1.php'); break;
   case 'side-2': include('side2.php'); break;
   case 'side-3': include('side3.php'); break;
 }
}

 

Det er jo også mulig å kun bruke switch() ved å legge til "deafult:" helt på slutten av switch'en:

...
 default: include('default.php'); break;
}

 

Ved å bruke if/else kan du sjekke siden brukeren søker opp før du sender bruker av gårde:

if (isset($_GET['side']))
{
 $path = 'path/to/'.$_GET['side'].php;
 if(!file_exists)
 { 
 //  en eller annen "siden ikke funnet"-side eller du kan videresende brukeren til forsiden ved å legge til:
     include('index.php');
 }
 else
 {
   switch($_GET['side'])
   {
     case 'side-1': include('side1.php'); break;
     case 'side-2': include('side2.php'); break;
     case 'side-3': include('side3.php'); break;
   }
 }
}
else
{
 include('index.php');
}

 

Det er riktignok mange måter å gjøre dette på, hvor alle vil gi det samme resultatet. Men anbefaler likevel å styre unna if, elseif, elseif, else når det kommer til å velge innhold som skal vises frem til brukeren/leseren...

 

if, elseif og else bruker jeg kun til definering av om noe er satt/ikke satt i disse situasjonene...

 

Men igjen, dette er min personlig mening og sier ikke at dette på noen måte er den riktigste måten, men at det funker for meg...

 

men, en liten ting til, når jeg loader "index.php", hvordan gjøre sånn at news.php er den som blir loada automatisk ? ..

I en switch statement kan du sette det opp slik:

default: include('news.php');

 

default: gjør som den heter - tildeler en standard verdi til $_GET['side'] hvis ingen er satt eller stemmer over ens med noen av de predefinerte verdiene i " case 'value':-ene...

 

EDIT: Og la nettopp merke til at dette var en evig gammal tård :p haha!

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

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