ljkhaeljfk Skrevet 23. november 2005 Rapporter Del Skrevet 23. november 2005 Hei! Jeg har begynt å lære meg php, men jeg er nysgjerrig på spesielt en ting. Ser mange har litt fancy opplegg på sidene sine. f.eks: Hovedsiden har url: 'www.index.com'... Og sidene under denne får f.eks. 'www.index.com/?view=info'.. Hva heter dette med '?view=...'? Hvor kan jeg lære dette? Takk for all hjelp! Erik. Lenke til kommentar
Pilot_ Skrevet 23. november 2005 Rapporter Del Skrevet 23. november 2005 Googlet frem noe. Burde forklare det enkelt og greit. Har ikke tid til å skrive noe nå. Spør heller om du lurer på noe. Step 1The main code: <?php switch ($HTTP_GET_VARS[id]) { //Default - case default: include "news/news.php"; break; //Fonts - case case 'resources=fonts': include 'resources/fonts.php'; break; //Scripts - case case 'resources=scripts': include 'resources/scripts.php'; break; } ?> Step 2 So first of all lets break the code down. <?php switch ($HTTP_GET_VARS[id]) { First off <?php is required to notify that you want php coding to start. Second of all $HTTP_GET_VARS [id] is telling the document to get the variable "id" you can change "id" to what ever you want. But what ever you change it to must be changed after index.php? So for instanced what we have above, would make the address look like this http://blahblah.com/index.php?id //Default - case default: include "main.php"; break; Now you are defining the default document that is to be loaded if no ?id is specified. So type in include" "; your default doc such as a news page. Make sure you have break; on its own line, and make sure that it is in there after each case. //Fonts - case case 'fonts': include 'fonts.php'; break; Next what we have is a case it is basically the same thing as the default case but you are defining what to do if the web address is blahblha.com/index.php?id=fonts . What it is saying is if "Fonts" is existant after ?id= then include 'fonts.php'; so what you want to do is replace fonts.php and change the case to what ever you want. } ?> Step 3 Put the entire php code where you want each page to load, keep in mind that each page will load at the same place no matter what, and backgrounds are not included either. Step 4 The final step is to link text or buttons or what ever to each switch.. You do this by adding an <a href="index.php?id=fonts">Some Text</a> to your site or navigation. Now when ever someone clicks that link "Some Text" it will goto the case "fonts" look to see what action it is told to do.. since it is include the page fonts.php it will include fonts.php where ever you place the php code at. Continue to link each ahref to each case changing the id name (?id=fonts) make sure you do not specify a target or it will popup in a new window. Note: Make sure to save the page that has the php code in it as a .php or .php3 file, if you don't it will not work and your navigation code will go kabloome. Lenke til kommentar
ljkhaeljfk Skrevet 23. november 2005 Forfatter Rapporter Del Skrevet 23. november 2005 ok... Det så jo greit ut. Men hva du googlet etter? Altså søkeord:) Lenke til kommentar
simenss Skrevet 23. november 2005 Rapporter Del Skrevet 23. november 2005 ok... Det så jo greit ut. Men hva du googlet etter? Altså søkeord:) 5198765[/snapback] Her Lenke til kommentar
ljkhaeljfk Skrevet 23. november 2005 Forfatter Rapporter Del Skrevet 23. november 2005 (endret) Hmm.. Naa sitter jeg og tester denne saken.. Men jeg faar den ikke til aa fungere skikkelig..Den klarer ikke aa hente opp sidene: Koden min har blitt slik: <?phpswitch ($HTTP_GET_VARS[view]) { //Default - case default: include "main.php"; break; //Fonts - case case 'resources=fonts': include 'resources/fonts.php'; break; //Scripts - case case 'resources=scripts': include 'resources/scripts.php'; break; } ?> Den klarer aa hente opp main.php som hovedinclude, men stopper naar jeg skal inn paa de andre.. Url er rett, men den includerer ikke.. Hva mangler? Takk for hjelp. Ja: Baade scripts.php og fonts.php ligger i mappa resources Endret 23. november 2005 av elindse Lenke til kommentar
christt Skrevet 23. november 2005 Rapporter Del Skrevet 23. november 2005 Du må ha default caset til slutt (skrev om litt) <?php switch ($_GET['view']) { //Fonts - case case 'fonts': include 'resources/fonts.php'; break; //Scripts - case case 'scripts': include 'resources/scripts.php'; break; //Default - case default: include "main.php"; break; } ?> Lenke til kommentar
ljkhaeljfk Skrevet 23. november 2005 Forfatter Rapporter Del Skrevet 23. november 2005 Der funka det! Tusen takk! Men jeg matte endre fra view til id.. Hvorfor maa defaulten staa til slutt? Maa den kjore igjennom alle variablene for den utforer en? Lenke til kommentar
christt Skrevet 23. november 2005 Rapporter Del Skrevet 23. november 2005 Fint. Er vel mulig at den ikke _må_ stå til slutt... Synes selv det er mest oversiktlig å ha den til slutt. Lenke til kommentar
betabagel Skrevet 24. november 2005 Rapporter Del Skrevet 24. november 2005 En mulighet som jeg bruker og som gjør siden mer dynamisk med include er slik: <?php if(!isSet($view)) $view="main.php"; $view="pages/$view"; include($view); ?> Så legger du alle sidene dine i katalogen pages og inkluderer de slik: index.com/?view=fonts.php bla, bla, bla. Lenke til kommentar
Jørgen Sørheim Skrevet 24. november 2005 Rapporter Del Skrevet 24. november 2005 En god emnetittel er en tittel som forklarer godt hva innholdet i posten din går ut på. En bruker bør kunne skaffe seg oversikt over hovedinnholdet i posten bare ut fra å lese tittelen. Emnetittelen i denne tråden er ikke god nok, om ikke dette blir endret slik at det er lettere å forstå hva slags informasjon tråden omhandler vil denne bli stengt! Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler. Bruk -knappen i første post for å endre emnetittelen. (Dette innlegget vil bli fjernet ved endring av emnetittel. Vennligst ikke kommenter dette innlegget, men rapporter gjerne dette innlegget når tittelen er endret, så vil det bli fjernet.) Lenke til kommentar
christt Skrevet 24. november 2005 Rapporter Del Skrevet 24. november 2005 En mulighet som jeg bruker og som gjør siden mer dynamisk med include er slik: <?php if(!isSet($view)) $view="main.php"; $view="pages/$view"; include($view); ?> Så legger du alle sidene dine i katalogen pages og inkluderer de slik: index.com/?view=fonts.php bla, bla, bla. 5199536[/snapback] Metoden du beskriver her er livsfarlig! Rett og slett et skoleeksempel på hva man _ikke_ skal gjøre. Metoden gjør det mulig å inkludere f.eks /etc/passwd eller andre filer i systemet ditt slik at man kan lese dem. F.eks hvis jeg gjør slik: index.com/?view=../../../../etc/passwd Brukerinput må alltid sjekkes. Lenke til kommentar
stian90_2 Skrevet 24. november 2005 Rapporter Del Skrevet 24. november 2005 Hei. Du kan jo bruke mortzor sitt. Er sikkert og veldig lett og lese og forstå. Finner det på www.mortz0r.tk ^^ Lenke til kommentar
Wintage Skrevet 26. november 2005 Rapporter Del Skrevet 26. november 2005 Jeg har også et da:P <?php $page = $_GET['side']; //dette gjør at url'n til sidene dine blir f.eks: switch($page){ //www.side.com/?side=gjestebok case main: @include('main.php'); break; case gjestebok: //det hele er ganske enkelt. man skriver case f.eks gjestebok @include('gjestebok.php'); //og inkluderer filen som inneholder gjesteboken break; //avsluttes med break; default: @include('main.php'); break; } ?> Så må man bare legge til flere sider etter hvert, på samme måte som gjesteboken, men husk..alltid avslutt med break; Lenke til kommentar
Jankee Skrevet 29. november 2005 Rapporter Del Skrevet 29. november 2005 Unødvendig quoting samt dårlig bruk av emnefeltet blir sett på som upasselig, og kan bli sensurert eller endret av moderatorer. Overdreven bruk av såkalt SMS-språk, utropstegn/spørsmålstegn, forkortelser osv. skal unngås. Emnefeltet skal beskrive innholdet i tråden. Eksempel: Problem med TV-ut på Radeon 9800. Dårlig bruk av emnefelt medfører stengning av tråden. Et bra emnefelt er et emnefelt som forklarer godt hva innholdet i posten din går ut på. En bruker bør kunne skaffe seg oversikt over hovedinnholdet i posten bare ut fra å lese emnefeltet. Tråden har et dårlig emnefelt og vil bli stengt deretter. Vennligst les utdraget over fra retningslinjene og netiketten angående dette. Lenke til kommentar
Anbefalte innlegg