vraag: wat doet dit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// werken met constants is altijd handig
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
// haal alle pagina's op uit %root%/pages/
// die eindigen met .php
$pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
if( !isset($_GET['p']) )
$_GET['p'] = 'home';
$pages = array_map('basename', $pages);
// addslashes functie is niet nodig, omdat je NOOIT
// andere tekens als letters of cijfers mag gebruiken
// in een url
if( in_array($_GET['p'].'.php', $pages) )
{
// include het bestand
require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';
}
else
{
// include de 404 error pagina
require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';
}
?>
// werken met constants is altijd handig
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
// haal alle pagina's op uit %root%/pages/
// die eindigen met .php
$pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
if( !isset($_GET['p']) )
$_GET['p'] = 'home';
$pages = array_map('basename', $pages);
// addslashes functie is niet nodig, omdat je NOOIT
// andere tekens als letters of cijfers mag gebruiken
// in een url
if( in_array($_GET['p'].'.php', $pages) )
{
// include het bestand
require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';
}
else
{
// include de 404 error pagina
require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';
}
?>
iemand een idee wat dit doet?
met vriendeljke groet
Ralph
dit stuk zorgt voor het samenbreien van je pagina's tot een geheel. het haalt de juiste pagina op die aangevraagd wordt.
en hoe? ik kreeg dit aangeleverd na een discussie met iemand maar kan de des betreffende persoon niet meer vinden
Als je die code in je index.php zet en je gaat naar www.domein.nl dan zal die uit map pages home.php includen. Als je naar url http://wwwdomein.nl/index.php?p=contact gaat, zal auto de pagina contact.php include worden.
Enz.....
die naam komt mij niet bekend voor , maar moet er nog iets gedefineerd worden voordat dit te gebruiken is
Code hoeft je alleen maar in je index.php ze zetten.
Daarna 2 mappen maken.
- error met een 404.php file er in
- pages met daar home.php, contact.php enz..........
ik snapo t niet helemaal daarom wil ik ervan leren en voordat ik iets gebruik wil ik 100% snappen wat t doet en waarom
Maar HIER word het script je aan geboden door Frank WD.
Het script doet niks meer dan de pagina's includen die er nodig zijn of word opgevraagd in de url.
- http://www.domein.nl geeft home.php
- http://www.domein.nl/index.php?p=contact geeft contact.php
- http://www.domein.nl/index.php?p=nieuws geeft nieuws.php
- Enz.............
Voordeel van het script is: Dat je nu niet overal code's hoeft te typen waar het niet nodig is.
ok klinkt prima denk dat ik het ga gebruiken in mijn project voor school :)
In je codeblok van je forumpost kan je ook op de functie namen klikken.
die wist ik nog niet maakt t wel een stuk makkelijker
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// werken met constants is altijd handig
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
// haal alle pagina's op uit %root%/pages/
// die eindigen met .php
$pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
if( !isset($_GET['p']) )
$_GET['p'] = 'home';
$pages = array_map('basename', $pages);
// addslashes functie is niet nodig, omdat je NOOIT
// andere tekens als letters of cijfers mag gebruiken
// in een url
if( in_array($_GET['p'].'.php', $pages) )
{
// include het bestand
require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';
}
else
{
// include de 404 error pagina
require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';
}
?>
// werken met constants is altijd handig
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
// haal alle pagina's op uit %root%/pages/
// die eindigen met .php
$pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
if( !isset($_GET['p']) )
$_GET['p'] = 'home';
$pages = array_map('basename', $pages);
// addslashes functie is niet nodig, omdat je NOOIT
// andere tekens als letters of cijfers mag gebruiken
// in een url
if( in_array($_GET['p'].'.php', $pages) )
{
// include het bestand
require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';
}
else
{
// include de 404 error pagina
require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';
}
?>
menu:
<div id="menu">
<ul>
<li><a href="index.php?p=home">Home</a></li>
<li><a href="index.php?p=aanbieding">Aanbieidngen</a></li>
<li><a href="index.php?p=gastenboek">Gastenboek</a></li>
<li><a href="index.php?p=zoeken">Zoeken</a></li>
<li><a href="index.php?p=uitloggen">Uitloggen</a></li>
</ul>
</div><!-- einde menu-->
Toevoeging op 05/11/2012 09:28:38:
de 404.php include hij ook niet krijg daarop als error
Warning: require(BSW/pages/error/404.php) [function.require]: failed to open stream: No such file or directory in E:\8.5\root\BSW\index.php on line 50
Fatal error: require() [function.require]: Failed opening required 'BSW/pages/error/404.php' (include_path='.;C:\php\pear') in E:\8.5\root\BSW\index.php on line 50
Dat scriptje is inderdaad van mij en je pagina's kloppen niet. Klopt je ROOT wel (die je definieert op regel 3)?
dus tot zover ik weet is het goed.
de url in de warning klopt
Gewijzigd op 05/11/2012 10:24:40 door ralph van der Tang