SESSION - Problem

Achtung! Eine Prüfung wird mit Doppelgleichzeichen durchgeführt. Was du machst, ist eine Zuweisung! Siehe dieses Beispiel:

PHP:
if ($_SESSION['user'] == $user[0]['user_login']) {
 
PHP:
if ($_SESSION['user'] = $user[0]['user_login']) {
weist der Sessionvariablen einen wert zu.
Ein Vergleich wird mit doppelten Gleichheitszeichen gemacht.
 
Cool, alle beide auf die gleiche Minute geantwortet! :D
Da kommt aber trotzdem diese Notiz:
Code:
Notice: Undefined offset: 0 in C:\xampp\htdocs\cms-systeme\index.php on line 16
In der Zeile 16 befindet sich dieser Code:
PHP:
if ($_SESSION['user'] == $user[0]['user_login']) {
 
Das bedeutet, dein SQL-Statement hat ein leeres Ergebnis zurück geliefert. Wenn das ein beabsichtigter Test war, dann solltest du deine if-Condition etwas anpassen:

PHP:
if (isset($user[0]) && $_SESSION['user'] == $user[0]['user_login']) {
 
Ich hab da mal zwei Fragen und eine Anmerkung.

Das Objekt in der Variablen $db, von welchem Typ ist das Object?
Was soll die Methode getQueryData zurückgeben, einen Array mit den Daten oder nur ein Result?

Anmerkung
Ich würde keine unbehandelten Postdaten in einen Query laden, mach es lieber in dieser Form:
PHP:
$userLogin = mysql_real_escape_string( $_POST['user_login'] ); // falls MySQL | bei PostgreSQL pg_escape_string( $string ) ...
$userPass  = md5( $_POST['user_passwort'] );

$user = $db->getQueryData("
    SELECT
        *  
    FROM
        benutzerliste  
    WHERE
        user_login = '$userLogin'  
    AND
        user_passwort = '$userPass'
");
Ansonsten wäre das Skript anfällig für SQL-Injection.

Gruß
 
Zurück