?pagina=...
Ik wil graag naar een pagina verwijzen in een andere map hoe doe ik dat?
Rick:
Dat is toch als de pagina niet bestaat dat ie daar naartoe gaat of niet?
Gewijzigd op 01/01/1970 01:00:00 door Tim Luigjes
Per map dat ie er onder 'zit' ../ gebruiken
Dus als pagina.php in de map pagina zit en de map pagina in de map html. Dus html/pagina/pagina.php
Dat je in de map html een pagina wilt linken.
Doe je: ../desbetreffendepagina.php
2.
Ja, maar het is wel standaard
Code (php)
Met elseif e.d. is beetje omslachtig kijk eens naar de deze pagina:
http://www.phphulp.nl/php/tutorials/8/310/
Ok bedankt.
waarom maak je geen switch?
geen switch, (in_)array!
kun je de hele tijd die array gaan updaten bij het toevoegen van een pagina, niet echt de efficientste oplossing kalle...
PHP:
kun je de hele tijd die array gaan updaten bij het toevoegen van een pagina, niet echt de efficientste oplossing kalle...
Klopt PHP-Newbie, maar je maakt ook de links ;) (die kan je evt ook automatisch uit je array halen als je dat wilt).
Dus:
Code (php)
Genereerd je menu.. (kan je ook een 2e array gebruiken met namen voor de pagina's)
PHP Newbie, het is maar kijken wat efficienter is.. (een nieuwe case aanmaken, of 1 item toevoegen in je array... )
Zeker voor grote sites met veel pagina's is die oplossing veel korter, en ook net zo eenvoudig in je onderhoud. Het is maar net wat je wilt.
(even ter voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$toegestaan=array('pagina1','pagina2','pagina3','pagina4');
// controleren of er een pagina is meegegeven)
if (isset($_GET['pagina'])){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
// controleren of de pagina voorkomt in de array
if (in_array($pagina, $toegestaan)){
// wanneer die toegestaan is includen
include($pagina.".php");
}
}
?>
$toegestaan=array('pagina1','pagina2','pagina3','pagina4');
// controleren of er een pagina is meegegeven)
if (isset($_GET['pagina'])){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
// controleren of de pagina voorkomt in de array
if (in_array($pagina, $toegestaan)){
// wanneer die toegestaan is includen
include($pagina.".php");
}
}
?>
Zet diezelfde 5 pagina's eens in een switch/case module, en kijk dan nog eens wat gemakkelijker is. En als je toch bezig bent, voeg dan bij beide opties eens 1, of 2 paginás toe, en kijk welke gemakkelijker en korter is ;)
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Echter dan wel met een homepage voor het geval er niets of een foutieve pagina is opgegeven:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$toegestaan=array('pagina1','pagina2','pagina3','pagina4'); //Voeg hier alles wat achter ?pagina= mag staan
//Controleren of er een pagina is meegegeven en of de pagina voorkomt in de array an toegestaande paginas.
if (isset($_GET['pagina']) && in_array($pagina, $toegestaan)){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
//Includen
include($pagina.".php");
}
else{
include("home.php");
}
?>
$toegestaan=array('pagina1','pagina2','pagina3','pagina4'); //Voeg hier alles wat achter ?pagina= mag staan
//Controleren of er een pagina is meegegeven en of de pagina voorkomt in de array an toegestaande paginas.
if (isset($_GET['pagina']) && in_array($pagina, $toegestaan)){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
//Includen
include($pagina.".php");
}
else{
include("home.php");
}
?>
Edit:
Typo's door lege batterijen toetsenbord..
Typo's door lege batterijen toetsenbord..
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
En dit even vlug geschreven?
Dan hoef je dus alleen maar de array te updaten als je een pagina toevoegd die niet geinclude mag worden.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$verboden = array('index.php');
if(file_exists($_GET['page']) && !in_array($_GET['page'], $verboden))
{
require $_GET['page'];
}
?>
$verboden = array('index.php');
if(file_exists($_GET['page']) && !in_array($_GET['page'], $verboden))
{
require $_GET['page'];
}
?>
Edit:
Dit is dus even vlug geschreven, en verder geen controle ingebouwd of zo, maar het gaat om de basis ;-)
Dit is dus even vlug geschreven, en verder geen controle ingebouwd of zo, maar het gaat om de basis ;-)
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
**klap - klap - klap**
Andries:
De laatste manier van Robert heeft mijn voorkeur, ik gebruik het zelf ook.
Echter dan wel met een homepage voor het geval er niets of een foutieve pagina is opgegeven:
Echter dan wel met een homepage voor het geval er niets of een foutieve pagina is opgegeven:
Klopt Andries, maar die zat er in de Tutorial ook wel ingebakken, het ging nu even om het vergelijken. :)
Robert:
Klopt PHP-Newbie, maar je maakt ook de links ;) (die kan je evt ook automatisch uit je array halen als je dat wilt).
Dus:
Genereerd je menu.. (kan je ook een 2e array gebruiken met namen voor de pagina's)
PHP Newbie, het is maar kijken wat efficienter is.. (een nieuwe case aanmaken, of 1 item toevoegen in je array... )
Zeker voor grote sites met veel pagina's is die oplossing veel korter, en ook net zo eenvoudig in je onderhoud. Het is maar net wat je wilt.
(even ter voorbeeld:
Zet diezelfde 5 pagina's eens in een switch/case module, en kijk dan nog eens wat gemakkelijker is. En als je toch bezig bent, voeg dan bij beide opties eens 1, of 2 paginás toe, en kijk welke gemakkelijker en korter is ;)
PHP:
kun je de hele tijd die array gaan updaten bij het toevoegen van een pagina, niet echt de efficientste oplossing kalle...
Klopt PHP-Newbie, maar je maakt ook de links ;) (die kan je evt ook automatisch uit je array halen als je dat wilt).
Dus:
Code (php)
Genereerd je menu.. (kan je ook een 2e array gebruiken met namen voor de pagina's)
PHP Newbie, het is maar kijken wat efficienter is.. (een nieuwe case aanmaken, of 1 item toevoegen in je array... )
Zeker voor grote sites met veel pagina's is die oplossing veel korter, en ook net zo eenvoudig in je onderhoud. Het is maar net wat je wilt.
(even ter voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$toegestaan=array('pagina1','pagina2','pagina3','pagina4');
// controleren of er een pagina is meegegeven)
if (isset($_GET['pagina'])){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
// controleren of de pagina voorkomt in de array
if (in_array($pagina, $toegestaan)){
// wanneer die toegestaan is includen
include($pagina.".php");
}
}
?>
$toegestaan=array('pagina1','pagina2','pagina3','pagina4');
// controleren of er een pagina is meegegeven)
if (isset($_GET['pagina'])){
// de binnengehaalde variabele omzetten naar kleine letters
$pagina=strtolower($_GET['pagina']);
// controleren of de pagina voorkomt in de array
if (in_array($pagina, $toegestaan)){
// wanneer die toegestaan is includen
include($pagina.".php");
}
}
?>
Zet diezelfde 5 pagina's eens in een switch/case module, en kijk dan nog eens wat gemakkelijker is. En als je toch bezig bent, voeg dan bij beide opties eens 1, of 2 paginás toe, en kijk welke gemakkelijker en korter is ;)
In dat 1e scriptje zie foreach.
Maar dat heb je toch niet nodig.
als de variabele $paginas verandert in $linkje is die foreach toch nutteloos of niet?
En dan is de foreach wel nodig, omdat die dan alle array items doorloopt.. :)
Het was maar een simpel voorbeeldje van uitbreidingsmogelijkheden voor dit scriptje.