Pagina index maken
Ik ben al een tijdje bezig met het maken van een eigen website, in PHP natuurlijk maar ik heb een probleem wat mij al een aantal weken bezig houdt. Het volgende is aan de hand, ik heb een index pagina gemaakt waarin ik de locatie van bestanden aangeef. Als deze bestanden bestaan dan worden deze met een include op de hoofdpagina gezet. Bestaat de pagina niet dan word er een foutmelding weer gegeven. Het werkt verder als een trein en bevalt me goed maar wanneer ik de pagina voor de eerste keer aanroep dan krijg ik de hoofdpagina niet te zien. Laad ik deze pagina voor het index script dan blijf je de hoofdpagina zien en word de opmaak van de pagina verstoord.
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
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
<?PHP
error_reporting(E_ALL ^ E_NOTICE);
//include header
include ("opmaak/head.inc.php");
include ("system/connect.inc.php");
$var;
if($_GET['z'])
{
$file = "modules/".$_GET['z'].".php";
if(!(file_exists($file)))
{
$var .= 'Oeps, de pagina is niet gevonden'; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['x'])
{
$file = "system/".$_GET['x'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden"; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['y'])
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden";
}
else
{
include $file;
}
}
include ("opmaak/foot.inc.php");
print $var;
?>
error_reporting(E_ALL ^ E_NOTICE);
//include header
include ("opmaak/head.inc.php");
include ("system/connect.inc.php");
$var;
if($_GET['z'])
{
$file = "modules/".$_GET['z'].".php";
if(!(file_exists($file)))
{
$var .= 'Oeps, de pagina is niet gevonden'; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['x'])
{
$file = "system/".$_GET['x'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden"; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['y'])
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden";
}
else
{
include $file;
}
}
include ("opmaak/foot.inc.php");
print $var;
?>
Wanneer ik deze code gebruik dan krijg ik een wit scherm (verdere opmaak is er wel gewoon zoals het menu, enz) en wanneer ik pas op het menu item "home" klik dan krijg ik pas de hoofdpagina te zien.
Ik heb google gebruikt voor een oplossing maar die heb ik nog niet kunnen vinden. Ook heb ik geprobeerd om dit op te lossen met een include of include_once maar helaas blijft de opmaak verstoord. Zou iemand mij kunnen helpen met dit probleem?
edit: Als ik de hoofdpagina direct in index.php zet dan heb ik hetzelfde probleem.
Gewijzigd op 13/05/2011 15:08:08 door Pietje Bell
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
55
56
57
58
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
55
56
57
58
<?php
error_reporting(E_ALL ^ E_NOTICE);
//include header
include ("opmaak/head.inc.php");
include ("system/connect.inc.php");
$var;
if (isset($_GET['z']) || isset($_GET['x']) || isset($_GET['y']))
{
if($_GET['z'])
{
$file = "modules/".$_GET['z'].".php";
if(!(file_exists($file)))
{
$var .= 'Oeps, de pagina is niet gevonden'; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['x'])
{
$file = "system/".$_GET['x'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden"; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['y'])
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden";
}
else
{
include $file;
}
}
}
else
{
// Hier home pagina includen!!!
}
include ("opmaak/foot.inc.php");
print $var;
?>
error_reporting(E_ALL ^ E_NOTICE);
//include header
include ("opmaak/head.inc.php");
include ("system/connect.inc.php");
$var;
if (isset($_GET['z']) || isset($_GET['x']) || isset($_GET['y']))
{
if($_GET['z'])
{
$file = "modules/".$_GET['z'].".php";
if(!(file_exists($file)))
{
$var .= 'Oeps, de pagina is niet gevonden'; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['x'])
{
$file = "system/".$_GET['x'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden"; //foutmelding weergeven
}
else
{
include $file;
}
}
if($_GET['y'])
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
{
$var .= "Oeps, de pagina is niet gevonden";
}
else
{
include $file;
}
}
}
else
{
// Hier home pagina includen!!!
}
include ("opmaak/foot.inc.php");
print $var;
?>
waar staat // Hier home pagina include!!!
moet je even handmatig de home pagina includen;)
Dank je wel en sorry voor de late reactie, ik moest nog even weg :).
Wat mij betreft mag dit topic gesloten worden.
zoiets moet er altijd bij btw.
zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
if($_GET['y'])
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
--> {
$var .= "Oeps, de pagina is niet gevonden";
} <--
else
{
include $file;
}
}
{
$file = "system/".$_GET['y'].".php";
if(!(file_exists($file)))
--> {
$var .= "Oeps, de pagina is niet gevonden";
} <--
else
{
include $file;
}
}
Alleen dan waar de hoofdpagina geinclude word? :).
Gewijzigd op 13/05/2011 18:14:58 door Pietje Bell
Ik zou kijken of er een $_GET[] bestaat. en als dat zo is kun je kijken welke en anders moet die gewoon standaard een pagina laden. bijv.home
Oke, dit is een beveiligingsmaatregel?
Geef een van de GET waarden eens de waarde ../index
Dit voorkomt gewoon dat als je geen $_GET hebt ingesteld dat die wel iets laat zien;)
Als jij op een website komt laat de website toch ook altijd home zien?:P
En niet dat je wit beeld ziet met menu waar je heen wilt(A)
Als je hulp aanbiedt, doe het dan wel goed. Zoals santhe al aangeeft is het script zo onveilig als de situatie in libië. En dit is geen effectieve (lees: juiste) controle: if($_GET['x']) {}
in mijn code hoef te zetten. Ook krijg ik het idee dat dit makkelijker is in het communiceren met de database. Want het index.php bevat de opmaak en de andere bestanden zoals menu items bevatten alleen de informatie die weergegeven moet worden.)
Toevoeging op 15/05/2011 14:35:02:
Arjan - op 14/05/2011 00:44:06:
Als je hulp aanbiedt, doe het dan wel goed. Zoals santhe al aangeeft is het script zo onveilig als de situatie in libië. En dit is geen effectieve (lees: juiste) controle: if($_GET['x']) {}
Die "x" wordt nog gewijzigd in de juiste vorm. Zou je mij een voorbeeld kunnen geven? Hoewel ik al een tijdje bezig ben, dit is niet mijn dagelijkse werk dus alleen als ik vrije tijd heb. Ik heb ook nog niet echt de tijd gehad om me te verdiepen in beveiliging enz.
Mijn doel is overigens om een werkende website te hebben en voor de lancering verbeteringen aan te brengen zoals beveiliging.