Pagina systeem met get
ik zit met het volgende. ik heb nu een pagina (index.php), hier wil ik elke keer bij de content een andere php pagina include met de juiste inhoud.
Dus als ik als get waarde contact hebt include deze pagina include.inc.php. Dit is geen probleem, maar nu zit ik met het volgende ik wil dit doen met 3 get waardes maar niet altijd hoeven alle waardes aanwezig te zijn. Ik dacht ik neem 3 standaard waardes en dan kijk ik elke keer welke waardes geven zijn. Maar nu weet ik niet hoe ik dit ook nog goed kan laten checken met mijn array's.
Dus ?page=home moet werken, maar ?page=produducten&subpage=stijfzuiger&subsubpage=typenummer moet ook werken.
Wat is al heb:
nu weet ik even niet hoe ik veder moet, misschien dat jullie mij zouden kunnen helpen.
Dus als ik als get waarde contact hebt include deze pagina include.inc.php. Dit is geen probleem, maar nu zit ik met het volgende ik wil dit doen met 3 get waardes maar niet altijd hoeven alle waardes aanwezig te zijn. Ik dacht ik neem 3 standaard waardes en dan kijk ik elke keer welke waardes geven zijn. Maar nu weet ik niet hoe ik dit ook nog goed kan laten checken met mijn array's.
Dus ?page=home moet werken, maar ?page=produducten&subpage=stijfzuiger&subsubpage=typenummer moet ook werken.
Wat is al heb:
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
27
28
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
27
28
<?php
function sqlsafe($data) {
$data = mysql_real_escape_string($data);
return $data;
}
$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('***' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');
$safepage = sqlsafe($_GET['page']);
$safesubpage = sqlsafe($_GET['subpage']);
$safesubsubpage = sqlsafe($_GET['subsubpage']);
echo $safepage;
echo $safesubpage;
echo $safesubsubpage;
if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
} else {
echo "Default page";
}
?>
function sqlsafe($data) {
$data = mysql_real_escape_string($data);
return $data;
}
$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('***' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');
$safepage = sqlsafe($_GET['page']);
$safesubpage = sqlsafe($_GET['subpage']);
$safesubsubpage = sqlsafe($_GET['subsubpage']);
echo $safepage;
echo $safesubpage;
echo $safesubsubpage;
if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
} else {
echo "Default page";
}
?>
nu weet ik even niet hoe ik veder moet, misschien dat jullie mij zouden kunnen helpen.
Gewijzigd op 26/01/2011 16:41:09 door Daniel H
Gesponsorde koppelingen:
mysql_real_escape_string pas over je data heen halen als je het in de database stopt.
Kijken of het een mag wat er geprobeerd wordt (../ mag bijvoorbeeld niet erin voorkomen).
Kijken of het een mag wat er geprobeerd wordt (../ mag bijvoorbeeld niet erin voorkomen).
Welke functie gebruik ik dan om te kijken of er leestekens of vreemde karakters voorkomen?
Je kan bijvoorbeeld een array maken van alle pagina's die benaderd mogen worden en dan met in_array werken.
Oke, ik heb nu dus dit. kan dit beter of korten?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
function string2url($string, $koppelteken = '-') {
return trim(preg_replace("#[^\w".preg_quote($koppelteken, "#")."]#", "", str_replace(" ", $koppelteken, preg_replace("#\&([a-z]{1})([a-z]{1,})\;#", "\\1", htmlentities(strip_tags(strtolower($string)))))), $koppelteken);
}
$default_path = "home.inc.php";
$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('****' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');
$safepage = string2url($_GET['page']);
$safesubpage = string2url($_GET['subpage']);
$safesubsubpage = string2url($_GET['subsubpage']);
echo $safepage;
echo $safesubpage;
echo $safesubsubpage;
if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage) && in_array($safesubsubpage , $array_subsubpage)) {
$include_path = $safepage."_".$safesubpage."_".$safesubsubpage.".inc.php";
} else {
$include_path = $default_path;
}
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage)) {
$include_path = $safepage."_".$safesubpage.".inc.php";
} else {
$include_path = $default_path;
}
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
if (in_array($safepage , $array_page)) {
$include_path = $safepage.".inc.php";
} else {
$include_path = $default_path;
}
} else {
echo "Default page";
$include_path = $default_path;
}
function page_include() {
if(file_exists("pages/".$include_path)) {
include_once ("pages/".$include_path);
} else {
include_once ("pages/".$default_path);
}
}
?>
function string2url($string, $koppelteken = '-') {
return trim(preg_replace("#[^\w".preg_quote($koppelteken, "#")."]#", "", str_replace(" ", $koppelteken, preg_replace("#\&([a-z]{1})([a-z]{1,})\;#", "\\1", htmlentities(strip_tags(strtolower($string)))))), $koppelteken);
}
$default_path = "home.inc.php";
$array_page = array('home' => 'home', 'overons' => 'overons', 'produkten' => 'produkten', 'blog' => 'blog', 'contact' => 'contact');
$array_subpage = array('****' => '***', 'netwerk' => 'netwerk', 'vacatures' => 'vacatures', 'sharedhosting' => 'sharedhosting', 'domeinregistratie' => 'domeinregistratie');
$array_subsubpage = array('gratis' => 'gratis', 'advanced' => 'advanced', 'premium' => 'premium');
$safepage = string2url($_GET['page']);
$safesubpage = string2url($_GET['subpage']);
$safesubsubpage = string2url($_GET['subsubpage']);
echo $safepage;
echo $safesubpage;
echo $safesubsubpage;
if(!empty($safesubsubpage) && !empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."&subsubpage=".$safesubsubpage."";
if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage) && in_array($safesubsubpage , $array_subsubpage)) {
$include_path = $safepage."_".$safesubpage."_".$safesubsubpage.".inc.php";
} else {
$include_path = $default_path;
}
}elseif(!empty($safesubpage) && !empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."&subpage=".$safesubpage."";
if (in_array($safepage , $array_page) && in_array($safesubpage , $array_subpage)) {
$include_path = $safepage."_".$safesubpage.".inc.php";
} else {
$include_path = $default_path;
}
} elseif(!empty($safepage)) {
echo "<br><h2>Include path: ?page=".$safepage."";
if (in_array($safepage , $array_page)) {
$include_path = $safepage.".inc.php";
} else {
$include_path = $default_path;
}
} else {
echo "Default page";
$include_path = $default_path;
}
function page_include() {
if(file_exists("pages/".$include_path)) {
include_once ("pages/".$include_path);
} else {
include_once ("pages/".$default_path);
}
}
?>
Gewijzigd op 27/01/2011 18:19:41 door Daniel H
Bump...



