Avatar billede tomb3 Nybegynder
15. maj 2005 - 02:33 Der er 7 kommentarer og
1 løsning

Page include x 3

Har lavet én side med selve designet, og ønsker at include indeholdet.
Mit problem er, at når man trykker på en knap i menuen, skal der includes noget 3 steder på siden.

Har lavet et eks. her:
http://sv1.randomcrap.net/uploads/files/0/include.gif

Når man trykker på knap1, skal overskriften til siden skrives hvor der står "side overskrift" og en sub-menu skal includes i højre side.
Selve teksten skal selvfølgelig også includes.

Hvordan gør jeg?

Jeg bruger nedenstående til include:

<?php
//check if page is set and if it's index itself (prevent resurcive calling)
if (isset($_GET["page"]) && ($_GET["page"] != "index"))
$page = $_GET["page"];
else
$page = "main";

//remove any illegal chars (could be used to load external pages)
$illegal = array("/", ".", "<", ">");
$page = str_replace($illegal, "", $page);

//add suffix
$page = $page . ".php";

//check that page exists before include
if (!file_exists($page))
$page = "404.php";

include $page;
?>
Avatar billede oonofearoo Nybegynder
15. maj 2005 - 03:23 #1
kan du ikke bare definere en $page 2 og så include den som submenu?

ellers kan du altid lave en switch case statement.
Avatar billede oonofearoo Nybegynder
15. maj 2005 - 03:25 #2
glemte lige overskriten: jeg ville bare echo $_GET['page']; ser ingen grund til at have en fil med kun en linie tekst.
Avatar billede tomb3 Nybegynder
15. maj 2005 - 11:05 #3
Well, jeg kalder jo en side med: index.php?page=side1
Hvis jeg skulle lave 3 includes på samme måde, skulle jeg åbne 3 urls på én gang.

index.php?page=tekst
index.php?page=submenu
index.php?page=overskrift

Er jo lidt noget rod...
Avatar billede morguegrotesque Nybegynder
15. maj 2005 - 13:54 #4
vil mene at index.php?page=tekst&page1=submenu&page2=overskrift vil være den nemmeste da det include hele lortet :S og så lave include(); de steder det skal være eller lav diverse steder om til $_GET[page] $_GET[page2] $_GET[page2]
Avatar billede tomb3 Nybegynder
15. maj 2005 - 13:58 #5
Har fået fixet det..
Avatar billede tomb3 Nybegynder
15. maj 2005 - 13:58 #6
<?php

if(
    isset($_REQUEST["page"])
    &&
    ($_REQUEST["page"] != "index")
){

    $page = $_REQUEST["page"];

}
else{

    $page = "main";

}

### Remove any illegal chars (could be used to load external pages)
$illegal = array("/", ".", "<", ">");
$page = str_replace($illegal, "", $page);


###
$title = $page;
$page = $page . ".php";


### Check that page exists before include
if(!file_exists($page)){

    $page = "404.php";

}


### Sub menu
if(file_exists("sub_menu_".$page)){include("sub_menu_".$page);}


### Content
include $page;

?>
Avatar billede oonofearoo Nybegynder
15. maj 2005 - 14:35 #7
og det var ikke det jeg sagde?

Men ellers ville jeg overveje at ændre $_REQUEST til $_GET af sikkerhedsmæssige årsager,  med mindre du ved at du får brug for en $_POST da $_REQUEST jo er begge.
Avatar billede tomb3 Nybegynder
15. maj 2005 - 14:52 #8
oonofearoo> Jeg forstod desværre ikke hvad du skrev, er helt grøn til PHP.
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