Avatar billede kirnehsnah Nybegynder
16. april 2003 - 11:17 Der er 22 kommentarer og
1 løsning

Newbie: If then else med parameter

Jeg skal lave en index.php, der har forskelligt indhold alt efter en parameter fra urlen. Da jeg ikke har nogen ide om hvordan PHP virker ville jeg blive glad for et eksempel på hvordan det kunne gøres.
Hvis urlen har en parameter (http://Domæne.dk/index.php?page=news) skal indholdet hentes fra filen der hedder "news"
Når der ikke er et parameter (http://Domæne.dk/index.php) skal indholdet også hentes fra en bestemt side.
Avatar billede schaefner Juniormester
16. april 2003 - 11:19 #1
<?php
if($_GET['page'] == "news") {
  include("news.php");
} else {
  include("forside.php");
}
?>

/Jesper Sørensen
Avatar billede schaefner Juniormester
16. april 2003 - 11:20 #2
Så kan du så byge videre med:
} elseif($_GET['page'] == "debat") {
Avatar billede the_legend Nybegynder
16. april 2003 - 11:20 #3
if($page){
include("$page.php");
}
else{
include("denbestemmteside.php");
}
Avatar billede the_legend Nybegynder
16. april 2003 - 11:21 #4
hmm schaefner kan mit ikke bruges eller hvad? er vel bare noget mere enkelt end dit!
Avatar billede schaefner Juniormester
16. april 2003 - 11:22 #5
Den kan sikkert godt bruges, men den vil bl.a. melde fejl hvis man skriver en fil der ikke findes + at man kan køre eksekvere eksterne sider.
Avatar billede the_legend Nybegynder
16. april 2003 - 11:25 #6
hmm jeg formoder da også at han vil finde en fil som er ekstistere og hvor tit bruger man eksterne sider? jeg bruger dem aldrig!
Avatar billede sukos Juniormester
16. april 2003 - 11:25 #7
En mulighed var også switch()

<?php
if (!isset($_GET["page"])) {
$action = "default";
}else{
$action =$_GET["action"];
}

switch ($action)
{
case "news":
include("news.php");
break;

case "kontakt":
include("kontakt.php");
break;

case "links":
include("links.php");
break;

default: include("forside.php");
break;
}
?>
Avatar billede schaefner Juniormester
16. april 2003 - 11:27 #8
the_legend >> Det var ikke så meget om du brugte dem, mere at en ikke så flink person vil kunne køre sider igennem dit script.
Avatar billede the_legend Nybegynder
16. april 2003 - 11:27 #9
desuden syntes jeg mit virker mere enkelt iforhold til jeres hvis man er helt ny til php! (Skal ikke forståes som pral!!)
Avatar billede schaefner Juniormester
16. april 2003 - 11:28 #10
...og hvis jeg indtaster ?page=etellerandet, så får jeg en knap så køn fejlbesked frem :)
Avatar billede nicklasb Nybegynder
16. april 2003 - 11:29 #11
..og så er det vel også bedst at lære det på den "rigtige" måde fra starten.. :)
Avatar billede schaefner Juniormester
16. april 2003 - 11:30 #12
the_legend >> Din kan sagtens bruges hvis den blev udbygget lidt. F.eks. med file_exists()

www.php.net/file_exists
Avatar billede sukos Juniormester
16. april 2003 - 11:31 #13
Avatar billede schaefner Juniormester
16. april 2003 - 11:32 #14
sukos >> I har da fået lavet en hel del om siden jeg var der inde sidst, men udemærket artikel ;)
Avatar billede kirnehsnah Nybegynder
16. april 2003 - 11:36 #15
Point til legend.. har ikke prøvet schaefner, men nu bruger jeg den anden. Tark!
Avatar billede the_legend Nybegynder
16. april 2003 - 11:37 #16
er der nogle af jer som bruger msn? muligt jeg kan få jeres mail hvis i har!
Avatar billede sukos Juniormester
16. april 2003 - 11:38 #17
schaefner -> Ja, og nu kan man osse se stort set al kode som bruges! :O)

Nu manglker der bare nogle flere scripts og artikler, (+ det løse)
Avatar billede nicklasb Nybegynder
16. april 2003 - 11:38 #18
ja, der kan man bare se hvor meget den lille debat, og den fine artikket der blev linket til, gjorde indtryk.. ;)

Godt valg kirnehsnah!! :D
Avatar billede the_legend Nybegynder
16. april 2003 - 11:39 #19
hvad... mit er jo ikke så godt iforhold til de andre
Avatar billede the_legend Nybegynder
16. april 2003 - 11:42 #20
men tak adligevel
Avatar billede nicklasb Nybegynder
16. april 2003 - 11:44 #21
var skam også ironisk ment.. Syntes det er lidt underligt, at man tager sig tid til at stille et spørgsmål, men desværre ikke har tid nok til at læse indlægene, og tage dem med i overvejelserne..

schaefners version, er nu ikke meget sværre at skrive end din, hvis man bare gad at sætte sig ind i det.. Men tilgængæld er du sikker på at det ikke er derfor dine data i din database lige pludselig mangler, når der har været en mindre venlig person forbi.. (som sukos' artikkel også påpeger..)

Men selvfølgelig.. Vælg Fiaten frem for Porschen.. De kan jo begge kører.. Ingen forksel der.. :)
Avatar billede kirnehsnah Nybegynder
16. april 2003 - 11:45 #22
Sorry.. det gik måske lidt hurtigt men det virker nu som det skal.. mht misbrug af funktionen, så ligger mit indhold i en seperat mappe og bliver hentet på følgende måde:

if($page){
include("content/$page");
}else{
include("content/news");
}

Så kan det vel ikke så let misbruges kan det?
Avatar billede nicklasb Nybegynder
16. april 2003 - 11:46 #23
det er langt lettere at misbruge ind det ville være med den anden udgave..
og langt lettere at misbruge, end du lige sidder og tror.. det kan jeg love dig.. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester