Avatar billede sevelsted Nybegynder
15. juni 2009 - 20:11 Der er 7 kommentarer og
1 løsning

menu links og includes i php

Hej Eksperter

Jeg har kodet i asp i noget tid, men vil nu kaste mig over php, men er helt grøn.

Jeg er vand til at mine links ser således ud:

<a href="default.asp?menu=forside">Forside</a>
<a href="default.asp?menu=omos">Om os</a>
<a href="default.asp?menu=kontakt">Kontakt</a>
<a href="default.asp?menu=blogs">Blog's</a>


og at mene variabler på siden ser således ud:

<% if menu = "forside" or menu = "" then%>
<!--#include file="sider/forside.asp" -->
<%end if%>
               
<% if menu = "omos" then%>
<!--#include file="sider/omos.asp" -->
<%end if%>
               
<% if menu = "kontakt" then%>
<!--#include file="sider/kontakt.asp" -->
<%end if%>
               
<% if menu = "blogs" then%>
<!--#include file="sider/blogs.asp" -->
<%end if%>
_________________________________________________________________

Hvordan gør jeg dette i php?
Avatar billede tjaz Nybegynder
15. juni 2009 - 20:42 #1
Links er det samme.

resten ser sådan ud:

<?
$menu = $_GET["menu"];

if($menu == "forside" || $menu == "")
  require_once('sider/forside.php');
elseif($menu == "omos")
  require_once('sider/omos');
else
  echo 'Siden findes ikke';
?>

get the picture?
Avatar billede sevelsted Nybegynder
15. juni 2009 - 21:05 #2
Ja, det kan jeg faktisk godt se, noget anderledes, man tankegangen er entlig den samme :-)

Kan jeg få inkluderet en side, hvis ?menu ikke findes?
altså indkluderer en side i "echo"?

Dine point er hjemme, smid et svar :-)
Avatar billede showsource Seniormester
15. juni 2009 - 21:10 #3
Du kan også lave et array,

<?php

$sider = array("forside" => "Forside",
              "omos" => "Om os",
              "kontakt" => "Kontakt",
              "blogs" => "Blog'st");

$page = (isset($_GET["menu"],$sider[$_GET["menu"]]) ? $_GET["menu"] : "forside");

include("sider/".$page.".php");

?>

Derudover kan du jo så også lave en foreach() til at vise links
Avatar billede showsource Seniormester
15. juni 2009 - 21:12 #4
Du kan ikke include i en echo
Tænker du på om filen findes ?
Avatar billede sevelsted Nybegynder
15. juni 2009 - 21:18 #5
Jeg ville bare lave min egen 404 side, så hvis side ikke finde, så kommer den side...
Avatar billede showsource Seniormester
15. juni 2009 - 21:23 #6
ahh, en "hurtig"

<?php

$sider = array("forside" => "Forside",
              "omos" => "Om os",
              "kontakt" => "Kontakt",
              "blogs" => "Blog'st");

$page = (!isset($_GET["menu"]) ? "forside" : (isset($sider[$_GET["menu"]]) ? $_GET["menu"] : "404"));

echo $page;

?>
Avatar billede tjaz Nybegynder
15. juni 2009 - 21:49 #7
showsource:

Der er vidst ingen grund til at gøre det svære end det er, det kræver man er lidt mere med på syntax for at kunne lave det du skriver ;)

mon ikke sevelsted blot har brug for det grundlæggende til at starte med :)

sevelsted:

Ja, i stedet for echo "siden findes ikke"; kan du godt skrive require_once('sider/404.php');

Jeg vil i øvrigt anbefale dig at kigge lidt nærmere på:
http://phpartikler.dk/

Her er nogen ganske fornuftige begynder ting. Det kan måske være lidt træls i starten, fordi du i forvejen har kendskab til variabler o.l. men det er godt at få det hele med fra starten, selvom det er nemt.
Avatar billede tjaz Nybegynder
15. juni 2009 - 21:49 #8
smider lige et svar også ;)
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
Kurser inden for grundlæggende programmering

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