Avatar billede sirvoks Nybegynder
10. januar 2007 - 12:27 Der er 15 kommentarer og
2 løsninger

Hvordan "index.php?page=history". feed af data til switch evt.

Hej..
Jeg har set på div. sider, at man kan bruge index.php?page=<whatever> for at få den til at skifte side. Har en eller anden ide om at bruge en switch, men ved ikke lige hvordan jeg feeder den med data.

Vh.
Anders
Avatar billede Six Nybegynder
10. januar 2007 - 12:32 #1
Jeg har lige hjulpet en anden gut på vej, måske du kan få noget ud af at kigge der :D

http://www.eksperten.dk/spm/755056
Avatar billede Six Nybegynder
10. januar 2007 - 12:33 #2
hvis det løser dit problem, tager du bare selv point. I øvrigt er 200 alt for meget at bruge :D - folk hjælper gerne herinde for 30 point, 60 hvis det er meget svære spørgsmål . Nogle hjælper sågar for 0 point :)
Avatar billede Six Nybegynder
10. januar 2007 - 12:34 #3
det hele bygger op om at du henter din page=whatever med switch($_GET['page']) og så kan  du bygge en switch op på den måde.
Avatar billede netmania Nybegynder
10. januar 2007 - 14:29 #4
Du kan også blot lave flg. i din index.php:
<?php
include_once("min_side_".intval($_GET['page'].".php"));
?>

På den måde kan dine sider ligge i hver deres fil med navnene:
min_side_1.php (hvis der bliver spurgt efter: index.php?page=1
god fornøjelse! :-)
Avatar billede netmania Nybegynder
10. januar 2007 - 14:32 #5
P.S.
der er ikke rigtig nogen grund til at gøre dette, med mindre du ønsker at have noget med på alle sider...
hvis du f.eks. ønsker at alle sider har standard html i bund og top kan den index.php se sådan ud:
<html>
<head><title>Velkommen</title></head>
<body>
<?php include_once("min_side_".intval($_GET['page'].".php")); ?>
</body>
</html>


Det gør det ret nemt at lave nye sider hurtigt, hvis alt design og inkludering af javascript og css ligger sådan opbygget + du behøver ikke kopiere f.eks. menuer ind i hver fil.... :-)
Avatar billede sirvoks Nybegynder
10. januar 2007 - 14:33 #6
Hej :)

Tror jeg fik lavet lidt ud fra det -- nu får jeg en fejl, og jeg kan ikke se hvorfor:

Fejlen: Parse error: syntax error, unexpected T_BREAK in /customers/mrmunk.dk/mrmunk.dk/httpd.www/ilft/index.php on line 19

Koden: http://php.pastebin.com/855892
Avatar billede netmania Nybegynder
10. januar 2007 - 14:38 #7
hmmm... kan ikke komme ind på linket...
kan du ikke bare skrive linie 18,19 og 20 :-)
Avatar billede netmania Nybegynder
10. januar 2007 - 14:52 #8
Du skal bare huske at afslutte include_once("...") med at    ;
men det skal man jo generelt! ;-)
Brug de fejl-meddelser du får ud... kig på den linie, den siger der er fejl i, og den over... det plejer at passe og det er en rigtig god og hurtig hjælp :-)
Avatar billede netmania Nybegynder
10. januar 2007 - 14:54 #9
desuden skal du lige have de 2 sidste include_once ud af switch'en... dvs. under }
Avatar billede Six Nybegynder
11. januar 2007 - 01:24 #10
Prøv den her:

<? include(header.php); ?>
   
<?
    switch ($_GET['page']) {
    case "index":
        include("forside.php");
        break;
    case "forside":
        include ("forside.php");
        break;
    case "historie":
        include ("historie.php");
        break;
    case "slik":
        include ("slik.php");
        break;
    case "drikkelse":
        include ("drikkelse.php")
        break;
    case "elektronik":
        include ("elektronik.php")
        break;
    case "hvidvarer":
        include ("hvidvarer")
        break;
    }
        include("menu.php");
        include("footer.php");
?>
Avatar billede netmania Nybegynder
11. januar 2007 - 09:30 #11
Den kommer heller ikke til at virke... der mangler nogle ;
<?
    include(header.php);

    switch ($_GET['page']) {
    case "index":
        include("forside.php");
        break;
    case "forside":
        include ("forside.php");
        break;
    case "historie":
        include ("historie.php");
        break;
    case "slik":
        include ("slik.php");
        break;
    case "drikkelse":
        include ("drikkelse.php");
        break;
    case "elektronik":
        include ("elektronik.php");
        break;
    case "hvidvarer":
        include ("hvidvarer");
        break;
    }

    include("menu.php");
    include("footer.php");
?>

Den skulle virke....
Avatar billede sirvoks Nybegynder
11. januar 2007 - 09:53 #12
Hej :)

Tak for hjælpen. Nu virker det. Hvordan får jeg det til at så pænt? dvs. menuen ude i siden, footeren nede i bunden, headeren oppe i toppen og det der bliver inkluderet med include() ind på midten af siden ?
Avatar billede netmania Nybegynder
11. januar 2007 - 10:12 #13
Det er jo et helt nyt spørgsmål.... ;-)
Det er jo din html der bestemmer det!

lav en skabelon, altså en side, der ser ud som du vil have den - hererfter kan du hive switch'en ind og der hvor du bruger include, bliver indholdet fra den inkluderede fil indsat:

f.eks. hvis du har filen bla.php med indholdet:
bla indhold

og du laver denne side:
<html>
<head><title>min side</title></head>
<body>
<?php
include("bla.php");
?>
</body>
</html>

bliver det browseren ser til:
<html>
<head><title>min side</title></head>
<body>
bla indhold
</body>
</html>

din switch bestemmer blot hvilken fil der bliver inkluderet, ikke hvor... :-)

O.k.. her er noget kode:

<html>
<head>
<title>min side</title>
</head>
<body>
<div style="width:700px;margin:auto;">
<div style="text-align:center;width:700px"><?php include(header.php); ?></div>
<div style="float:left;width:150px"><?php include(menu.php); ?></div>
<div style="float:left;width:550px"><?php
    switch ($_GET['page']) {
    case "index":
        include("forside.php");
        break;
    case "forside":
        include ("forside.php");
        break;
    case "historie":
        include ("historie.php");
        break;
    case "slik":
        include ("slik.php");
        break;
    case "drikkelse":
        include ("drikkelse.php");
        break;
    case "elektronik":
        include ("elektronik.php");
        break;
    case "hvidvarer":
        include ("hvidvarer");
        break;
    }
?></div>
<div style="text-align:center;width:700px"><?php include(footer.php); ?></div>
</div>
</body>
</html>

Men det er bare så du kan lege lidt! :)
Avatar billede code Nybegynder
11. januar 2007 - 15:27 #14
<?

if($_GET[side] > ''){
$sti = $_GET['side'];
$keys  = array_keys($_GET);
foreach ($keys as $key)
{
    if ($key != "side")
    {
        $gets[$key] = $key ."=". $_GET[$key];
    }
}
$get = implode("&", $gets);
} else{
$sti = "start_side.php";
}

$nystimedget = "$sti?$get";

?>
Avatar billede hanklitvej Nybegynder
11. januar 2007 - 17:11 #15
Her er en af de jeg selv har benyttet.

<?

$site = $_GET['site'];

if ($site == "index"){ $page = "index";
}else if ($site == "what"){ $page = "what";
}else if ($site == "contact"){ $page = "contact"; 
}else if ($site == "about"){ $page = "about";
}else if ($site == "rights"){ $page = "rights";
}else{ $page = "index"; }

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

?>
Avatar billede sirvoks Nybegynder
11. januar 2007 - 22:27 #16
Hej. Kunne du komme med et helt eksempel ? Det er bare en 'fusker' side -- Det er til et mindre project jeg har gang i. Skal have det færdigt i morgen :( - kan du ikke lave det? :P - så får du 200 point.
Avatar billede hanklitvej Nybegynder
15. december 2007 - 17:57 #17
Har desværre ikke tid denne uge da jeg skriver stor opgave.
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