Moin.
Also ich baue gerade einen Admin-Bereich für meine Community auf, die allerdings noch offline erarbeitet wird. Ich habe eine SQL-Klasse definiert, die mir die Arbeit erleichtern soll und dazu noch ein paar Funktionen für den Login. Das ganze ist wie bei vielen Foren in einer seperaten Datei gespeichert, damit alles direkt eingebunden werden kann. Allerdings ergeben sich Schwierigkeiten bei den Login Funktionen, da die Funktionen anscheinend die globale Klassen-Variable $DB (in der die Klasse initialisiert wurde) aussschließen und somit nicht direkt auf die DB zugreifen können.
Da der Text ein wenig verwirrend ist, werde ich das direkt durch Code zum Ausdruck bringen. Zuerst die Datei, wo alle Funktionen eingebunden und alle Klassen initialisiert werdern.
admin.php:
[php]<?php
//Classes
include(‚…/class/sql.class.php‘);
//Connection
include(‚…/php/dbcon.php‘);
//Functions
[…]
include(‚…/fnc/functions.login.php‘);
if ( !LoggedIn() )
{
header(„Location: …/index.php“);
}
?>[/php]
Nun die dbcon.php:
[php]<?php
$DB = new SQL(„localhost“,„NetzSchleicher“,„****“,„kappalife“);
define(„DB_CON“,„1“);
[Andere Konstanten für Tabellennamen]
?>[/php]
Abschließend noch die LoggedIn()-Funktion:
[php]<?php
[…]
function Loggedin()
{
$Stat_Stream = $DB->SelectOne(„SELECT * FROM „. USERS_TABLE .“ WHERE OldSession='“.session_id().„'“);
if ( $Stat_Stream[‚Status‘] == „1“ )
{
return true;
}
else
{
return false;
}
}
[…]
?>[/php]
Nur was ich nicht verstehe ist, obwohl die Funktion und das Object ($DB) vorhanden sind, ist diese Fehlermeldung:
Line 33 ist die Zeile in der Funktion LoggedIn(), die mit $Stat_Stream beginnt.