house Skrevet 14. oktober 2001 Del Skrevet 14. oktober 2001 Hei, jeg lurer på hvordan man lager linker i php.. slik at linkene blir sånn: http://www.domain.com/index.php?menu=test ... hvordan lager man disse ?? Dan Stamnes Lenke til kommentar
kilogram Skrevet 14. oktober 2001 Del Skrevet 14. oktober 2001 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
Magellan Skrevet 14. oktober 2001 Del Skrevet 14. oktober 2001 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
house Skrevet 27. oktober 2001 Forfatter Del Skrevet 27. oktober 2001 nei sjekk her, kommi tilbake joh hehe.. jaja les post i php forumet.. Dan Stamnes Lenke til kommentar
ironman Skrevet 31. oktober 2001 Del Skrevet 31. oktober 2001 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
kilogram Skrevet 31. oktober 2001 Del Skrevet 31. oktober 2001 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
house Skrevet 11. november 2001 Forfatter Del Skrevet 11. november 2001 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 ? .. Dan Stamnes Lenke til kommentar
kilogram Skrevet 12. november 2001 Del Skrevet 12. november 2001 Heisann! Det er svært enkelt. <?php if (isset($side)) { // Gjør det som skal til for å vise andre sider } else { include('news.php'); } ?> Lykke til! Lenke til kommentar
house Skrevet 13. november 2001 Forfatter Del Skrevet 13. november 2001 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
Magellan Skrevet 13. november 2001 Del Skrevet 13. november 2001 php.resourceindex.com Lenke til kommentar
zreak Skrevet 17. november 2001 Del Skrevet 17. november 2001 Min løsning på index?side=underside if (file_exists($side)) include_once ($side); elseif (isset($side)) echo "<center>Siden eksisterer ikke</center>"; else (!$side) include_once ("news.php"); Lenke til kommentar
Yawa Skrevet 19. juni 2011 Del Skrevet 19. juni 2011 (endret) 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 haha! Endret 19. juni 2011 av Yawa Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå