Gå til innhold

Hvordan få til


Anbefalte innlegg

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
Videoannonse
Annonse

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 1

The 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

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:

 

<?php

switch ($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 av elindse
Lenke til kommentar

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

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

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
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
Gjest
Dette emnet er stengt for flere svar.
  • Hvem er aktive   0 medlemmer

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