Instance stopt met werken na include
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
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ob_start ();
class Main {
var $pagina;
function __construct() {
$this->pagina = $this->getpagina();
}//end function
function getpagina() {
$sExpressie = "(http:|ftp:|shttp:|www.|.php|.pl|.cgi|.asp|index.php)";
// een soort van array met dingen die er niet in voor mogen komen
if(isset($_GET['p']))
{
if(strpos($sExpressie,$_GET['p']) !== false){
echo 'Ongeldige pagina opgegeven.';
} else {
if(file_exists($_GET['p'].'.php')) {
return $_GET['p'];
} else {
return false;
}
}
} else {
return 'home';
}
}//end function
function gettitle() {
$title = ucfirst(strtolower($this->pagina));
return $title;
}//end function
function laadpagina() {
if(empty($this->pagina)) {
echo "Pagina kon niet gevonden worden";
} else {
include $this->pagina.'.php';
}
}
}//end class
?>
error_reporting(E_ALL);
ini_set('display_errors', '1');
ob_start ();
class Main {
var $pagina;
function __construct() {
$this->pagina = $this->getpagina();
}//end function
function getpagina() {
$sExpressie = "(http:|ftp:|shttp:|www.|.php|.pl|.cgi|.asp|index.php)";
// een soort van array met dingen die er niet in voor mogen komen
if(isset($_GET['p']))
{
if(strpos($sExpressie,$_GET['p']) !== false){
echo 'Ongeldige pagina opgegeven.';
} else {
if(file_exists($_GET['p'].'.php')) {
return $_GET['p'];
} else {
return false;
}
}
} else {
return 'home';
}
}//end function
function gettitle() {
$title = ucfirst(strtolower($this->pagina));
return $title;
}//end function
function laadpagina() {
if(empty($this->pagina)) {
echo "Pagina kon niet gevonden worden";
} else {
include $this->pagina.'.php';
}
}
}//end class
?>
Maar werk maar niet verder met globale variabelen. Je kunt eenvoudig een klasse User maken; die kun je zelfs als singleton inrichten. Je code vraagt dan om User::instance() in plaats van $user. Leest nog beter terug ook.
Aha, volgens mij zie ik het ook. Als ik nou met laadpagina() de pagina naam door geef, en hem echt include op de index. Dan zal het waarschijnlijk wel werken.
Omdat je toch al met objecten werkt, hoopte ik dat je de suggestie om van $user een object te maken zou oppakken. Uiteraard kun je het zo inrichten als jou het beste uitkomt.
Maar ik ben al een heel stuk verder, echt heel erg bedankt!
Zat er al zo'n twee weken mee, zelfs me leraren zagen het niet.
instance() roep je aan op een singleton op de plek waar je 'm wil gebruiken.