Een vraag over inloggen.
Staat die wel in dezelfde map vanwaar je probeert te includeren?
Bouw anders eens een file_exists() controle in bij je include, dan kan je meteen opvangen of een bestand bestaat. Het zou nog mooier zijn om de beschikbare pagina's in een array te definiëren.
Bouw anders eens een file_exists() controle in bij je include, dan kan je meteen opvangen of een bestand bestaat. Het zou nog mooier zijn om de beschikbare pagina's in een array te definiëren.
PHP hulp
22/11/2024 15:33:54Jasper Schellekens
23/02/2018 13:45:49Hoe kan ik beschikbare pagina's in een array definieren? hoe bedoel je dat?
Ik heb er dit van gemaakt:
En hij zegt inderdaad Could not find page.
Dit is zo vreemd want paginas zoals index.php?p=account werkt prima.
zelfs index.php?p=viewreport zegt wrong page.
terwijl viewreport.php het gewoon doet en ze echt in de zelfde map staan.
Ik heb er dit van gemaakt:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
if($page == "viewreport"){
if(file_exists(viewreport.php)){
include"viewreport.php";
} else{
echo"Could not find page.";
}
}
if(file_exists(viewreport.php)){
include"viewreport.php";
} else{
echo"Could not find page.";
}
}
En hij zegt inderdaad Could not find page.
Dit is zo vreemd want paginas zoals index.php?p=account werkt prima.
zelfs index.php?p=viewreport zegt wrong page.
terwijl viewreport.php het gewoon doet en ze echt in de zelfde map staan.
Gewijzigd op 23/02/2018 13:47:17 door Jasper Schellekens
Zet de bestandsnaam in je file_exists eens in een string. ;-)
Je hebt nu een procedure geschreven voor een enkele pagina. Ga je dit stukje code steeds herhalen voor een nieuwe pagina? Denk aan DRY oftewel Don't Repeat Yourself.
Maak dan een array aan waarin je alle bestanden plaatst die geincludeerd mogen worden. Vervolgens kijk je met in_array of een bestand voorkomt, en als dat zo controleer je of deze daadwerkelijk bestaat. En als deze bestaat, dan includeer je hem.
Dan krijg je dus zoiets:
Je hebt nu een procedure geschreven voor een enkele pagina. Ga je dit stukje code steeds herhalen voor een nieuwe pagina? Denk aan DRY oftewel Don't Repeat Yourself.
Maak dan een array aan waarin je alle bestanden plaatst die geincludeerd mogen worden. Vervolgens kijk je met in_array of een bestand voorkomt, en als dat zo controleer je of deze daadwerkelijk bestaat. En als deze bestaat, dan includeer je hem.
Dan krijg je dus zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$allowed_pages = array('viewreport','editreport','deletereport');
if(isset($_GET['p']))
if(in_array($_GET['p']', $allowed_pages)) {
if(file_exists($_GET['p']".php")){
include $_GET['p']."php";
} else {
echo "Could not find page.";
}
} else {
echo "This page is not allowed.";
}
} else {
echo "Er is geen keuze gemaakt in de URL.";
}
?>
$allowed_pages = array('viewreport','editreport','deletereport');
if(isset($_GET['p']))
if(in_array($_GET['p']', $allowed_pages)) {
if(file_exists($_GET['p']".php")){
include $_GET['p']."php";
} else {
echo "Could not find page.";
}
} else {
echo "This page is not allowed.";
}
} else {
echo "Er is geen keuze gemaakt in de URL.";
}
?>