Versio

Pagina systeem met get

Overzicht Reageren

Daniel H

Daniel H

26/01/2011 16:40:39
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";
}

?>

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
 
PHP hulp

PHP hulp

25/05/2012 09:32:59
Gesponsorde koppelingen:
 
Karl Karl

Karl Karl

26/01/2011 16:43:38
Quote Anchor link
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).
 
Daniel H

Daniel H

26/01/2011 16:45:00
Quote Anchor link
Welke functie gebruik ik dan om te kijken of er leestekens of vreemde karakters voorkomen?
 
Karl Karl

Karl Karl

26/01/2011 16:46:15
Quote Anchor link
Je kan bijvoorbeeld een array maken van alle pagina's die benaderd mogen worden en dan met in_array werken.
 
Daniel H

Daniel H

26/01/2011 16:49:26
Quote Anchor link
Oke, ik heb nu dus dit. kan dit beter of korten?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
    }
}

?>
  
Gewijzigd op 27/01/2011 18:19:41 door Daniel H
 
Daniel H

Daniel H

27/01/2011 18:16:08
Quote Anchor link
Bump...
 



Overzicht Reageren

Get Adobe Flash player