php include og variabler

Tags:    php include

Hej.

Jeg er gået igang med at lave hjemmesider sådan lidt for sjov igen efter mange års fravær.
Derfor er jeg sku lidt på barbund med PHP'en - den har jeg næsten glemt :)

Det var nok også mest i html og css jeg brugte min tid på, men jeg kunne da læse lidt php
for en 4-5 år siden...

Vil meget gerne ha en side hvor index.php har hele designet, og hvor jeg så har en boks i
midten der skifter indhold ud med include - Jeg har allerede fået lavet forsiden med
include, men jeg vil jo også gerne lave nogle links så jeg ikke skal loade designet hver
gang...

Jeg ved det er muligt, det er bare mig der ikke fatter det :) Har sat et par timer på de
her 2 sider, men jeg forstår det bare ikke! Den giver fejl hele tiden.

http://inobscuro.com/tutorials/read/16/
http://www.martin-nielsen.com/dynamiske-sider-med-php-include_47.html

Hele siden ligger på http://mbstech.dk/help/ og kan hentes her
http://peecee.dk/upload/view/358245

Vil blive MEGET glad hvis der var noget hjælp og hente et eller andet sted.

På forhånd tak!



10 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 17 karma
Sorter efter stemmer Sorter efter dato
En lidt mere "sikker" måde ville være, at lave et array, hvor du har de tilladte includes, og derefter tjekke, om $_GET['page'] kan findes i arrayet.

Fold kodeboks ind/udPHP kode 





du kan lave noget i denne stil

du har en mappe der hedder "pages" hvor du har alle dine "sider" i, og du linker til dem sådan her:
index.php?p=om_os (pages/om_os.php)
index.php?p=anden_side (pages/anden_side.php)

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 24.03.2012 17:57 af Bruger #3427
Jeg ville gøre det i den her stil (du kunne kalde det omvendt) :

a.php :
Fold kodeboks ind/udHTML kode 


b.php :
Fold kodeboks ind/udHTML kode 


forside.php :
Fold kodeboks ind/udPHP kode 


anden_side.php
Fold kodeboks ind/udPHP kode 


Brugeren går så til http://blablabla.dk/forside.php eller http://blablabla.dk/anden_side.php

Så kan du i forside.php lavet en $title = "min overskrift"; og i a.php kan du så bruge $GLOBALS['title'] mellem <title> og </title> for at få adgang til den variablen i en anden fil.




Indlæg senest redigeret d. 28.03.2012 17:21 af Bruger #13010
Det er slet ikke så indviklet Michael.

Du kan jo ligge det hele i databasen.
fx:
pages
- id
- name
- text
- href
- standard (enum)

Så kan du når du klikker på et link vælge enten at søge via et id eller via et name.

også kan du jo lave at hvis der ikke er nogen variabel, så skal den hente den der er sat som standard.

Du henter selvfølgelig alt indholdet før du begynder på din HTML/CSS. Laver det hele til variabler. og wupti snupti, så har du nye title og tekster der passer sammen.



Indlæg senest redigeret d. 29.03.2012 12:30 af Bruger #15663
En lidt mere "sikker" måde ville være, at lave et array, hvor du har de tilladte includes, og derefter tjekke, om $_GET['page'] kan findes i arrayet.

Fold kodeboks ind/udPHP kode 




Mange tak for dit svar, men jeg fik det til at virke med Kenneths metode. Tusind tak :)




Indlæg senest redigeret d. 28.03.2012 16:04 af Bruger #17141
Argggghhh... Diller. Det havde jeg ikke tænkt på. Jeg skal selvfølgelig ha forskellig title på siderne.

Det lyder lidt indviklet det der. Men jeg må prøve og lege med det. Tusind tak :)



Det giver jo ikke mening at bruge array.

Altså du vil gøre det her for at det skal være dynamisk, men du vil så prøve syntetisk kode til at lave noget dynamisk.

Du kan ganske simpelt gøre følgende:

<?php

$side = $_GET['side'] . '.php';
If(file_exists($side))
{
include($side);
}
else
{
include(404.php);
}
?>

Altså tjekker du bare om filen findes, hvis den gør så include den.





Argggghhh... Diller. Det havde jeg ikke tænkt på. Jeg skal selvfølgelig ha forskellig title på siderne.

Det lyder lidt indviklet det der. Men jeg må prøve og lege med det. Tusind tak :)


du kan stadig godt lave det med include, du kan gøre noget i den her stil;

index.php
Fold kodeboks ind/udPHP kode 


page_1.php
Fold kodeboks ind/udPHP kode 



page_2.php
Fold kodeboks ind/udPHP kode 


edit: glemte lig et </head>



Indlæg senest redigeret d. 03.04.2012 16:55 af Bruger #3427
Jeg har lidt travlt med mit nuværende arbejde lige nu, så jeg har ikke fået kigget så meget på PHP delen endnu. Men jeg vil dog prøve din metode for jeg skal ha' forskellige titler på siderne, og jeg vil meget gerne ha include funktion for at spare load time.

Vender tilbage når jeg lige har et par timer til at lege med det, det kan være det bliver i weekenden. Mange tak for svaret :)



Det giver jo ikke mening at bruge array.


Det giver TEMMELIG meget mening at lave en whitelist, ellers åbner man for file inclusion attack. Men jeg ville opbygge arrayet dynamisk ved at liste alle filer i en bestemt folder.



t