OOP aanroepen classe
Ik heb een classe (begin) gemaakt en wil deze aanroepen in een ander bestand. Echt krijg ik de volgende error:
Stuk code uit auth.ajax.php
In de config staat de root van het systeem, die word voor het classe linkje geplakt. Ik heb die require_once om de classe in te voegen getest en die staat goed gelinkt.
Ik heb wel eens vaker iets OOP gemaakt, ook in C#. Ik heb op php.net gekeken, alles gechecked of ik een fout heb gemaakt. Maar ik zie het echt niet.
Heb dit stukje om 2/3 uur 's nachts gemaakt, dus ik denk dat ik iets over het hoofd heb gezien. Echter zie ik het nu nog steeds niet.
De classe
Iemand een idee waarom die foutmelding blijft komen? Zie ik iets dom's over het hoofd?
Mvg.
Code (php)
1
Fatal error: Class 'Auth' not found in C:\domains\mediaflux.nl\wwwroot\klanten\zsp+\website\ajax\auth.ajax.php on line 14
Stuk code uit auth.ajax.php
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once '../config.php';
require_once($config['root'].'classes/auth.php');
$user = new Auth();
?>
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once '../config.php';
require_once($config['root'].'classes/auth.php');
$user = new Auth();
?>
In de config staat de root van het systeem, die word voor het classe linkje geplakt. Ik heb die require_once om de classe in te voegen getest en die staat goed gelinkt.
Ik heb wel eens vaker iets OOP gemaakt, ook in C#. Ik heb op php.net gekeken, alles gechecked of ik een fout heb gemaakt. Maar ik zie het echt niet.
Heb dit stukje om 2/3 uur 's nachts gemaakt, dus ik denk dat ik iets over het hoofd heb gezien. Echter zie ik het nu nog steeds niet.
De classe
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
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
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
class Auth
{
var $salt;
var $pepper;
var $userID;
var $username;
public function __construct()
{
$db = new PDO('mysql:host=localhost;dbname=****','******','******');
$this->salt = '%fyg#h74$gS6F/e%sC^^$fd';
$this->pepper = '#$fe3êr#%^Dgt54fgD$%53D$';
}
public function login ($username, $password)
{
$qAttempt = $db->exec('INSERT INTO login_attempts (ip_address,
username,
password,
date)
VALUES
('.$_SERVER['REMOTE_ADDR'].',
'.$db->quote($username).',
'.$db->quote($password).',
NOW())');
if($qAttempt == 1)
{
return 'Attempt toegevoegd.';
}
else
{
return 'Attempt niet toegevoegd.';
}
}
private function hash ($password)
{
return sha1($this->salt.$password.$this->pepper);
}
}
?>
error_reporting(E_ALL);
ini_set("display_errors", 1);
class Auth
{
var $salt;
var $pepper;
var $userID;
var $username;
public function __construct()
{
$db = new PDO('mysql:host=localhost;dbname=****','******','******');
$this->salt = '%fyg#h74$gS6F/e%sC^^$fd';
$this->pepper = '#$fe3êr#%^Dgt54fgD$%53D$';
}
public function login ($username, $password)
{
$qAttempt = $db->exec('INSERT INTO login_attempts (ip_address,
username,
password,
date)
VALUES
('.$_SERVER['REMOTE_ADDR'].',
'.$db->quote($username).',
'.$db->quote($password).',
NOW())');
if($qAttempt == 1)
{
return 'Attempt toegevoegd.';
}
else
{
return 'Attempt niet toegevoegd.';
}
}
private function hash ($password)
{
return sha1($this->salt.$password.$this->pepper);
}
}
?>
Iemand een idee waarom die foutmelding blijft komen? Zie ik iets dom's over het hoofd?
Mvg.
Gewijzigd op 01/01/1970 01:00:00 door Pepijn Schildkamp
Gesponsorde koppelingen:
Er gaat simpelweg iets fout bij het includen, dus je path klopt gewoon niet.
Gewijzigd op 01/01/1970 01:00:00 door Midas
Tsja, 2 keer.
Gewijzigd op 01/01/1970 01:00:00 door Midas
Ik steek mijn hand in het vuur dat het path wel goed is.
Ik heb van require_once($config['root'].'classes/auth.php'); een echo gemaakt, die in mijn url balk gekopieerd en een echo gemaakt boven de classe. Gecontroleerd en werkt. Dat is het niet. Require_once geeft ook een fatal error als het bestand niet bestaan (unlike include).
Ik heb van require_once($config['root'].'classes/auth.php'); een echo gemaakt, die in mijn url balk gekopieerd en een echo gemaakt boven de classe. Gecontroleerd en werkt. Dat is het niet. Require_once geeft ook een fatal error als het bestand niet bestaan (unlike include).
En als je in het bestand van je class onderaan een echo zet, en dan in je browser het bestand van je class opvraagt, krijg je die echo dan te zien?
En ook dan krijg ik gewoon de echo te zien. zowel als ik naar de classe ga, en in het bestand waar ik de classe bestand require_once. Toch nog de foutmelding.
Gooi de aanroep en de class eens in een bestand. Kijk dan of het werkt.
Probeer het uit in een IDE zoals Nusphere PHPed.
Probeer het uit in een IDE zoals Nusphere PHPed.
Als ik dat doe, krijg ik geen foutmeldingen.
Pepijn schreef op 04.05.2009 19:12:
Als ik dat doe, krijg ik geen foutmeldingen.
Als je het in één bestand gooit?
Tja, dan gaat er toch wat mis met het require'en denk ik...
Daarom zeg ik dat je het effe in een IDE moet testen, dan kan je het zo allemaal nalopen.
Ben die IDE aan het downloaden. En ja in 1 bestand gaat het goed. Toch staat die require_once goed, anders zou hij een foutmelding geven en ik heb het na gechecked.



