Andreas Vogt: Login Script erzeugt Fehlermeldung

Hallo,
habe ein Formular das nach dem Abschicken folgenden Code durchläuft:

$password = md5($_POST['password']);
$query = $DB->dbquery("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Datenbankzugriff ist fehlgeschlagen!');

$result = $DB->dbfetch_row($query) or die('<p align="center">Dieser Benutzername existiert nicht!<br><a href="login.php">Zur&uuml;ck</a></p>');

if($password != $result['pass']){
$body .= '<form action="login.php" method="post">';
$body .= '<p align="center">Passwort ist falsch!<br><br>';
$body .= '<input type="hidden" name="username" value="'.$_POST['username'].'">';
$body .= '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
$body .= '</form>';
$lib->buildpage($body);
die;
}
else{
$user = $result['user'];
session_register('user');
$body .= '<p align="center">LogIn erfolgreich<br><br><a href="admin.php">Weiter</a></p>';
$body .= '
<script language="JavaScript">
window.setTimeout('window.location.href="admin.php"','3000')
</script>';
}

$lib->buildpage($body);

Der Login Funktioniert auch, aber es erscheint als folgende Meldung:

Warning: Unknown:
Your script possibly relies on a session side-effect which existed until PHP 4.2.3.
Please be advised that the session extension does not consider global variables as a source of data,
unless register_globals is enabled. You can disable this functionality and this warning by setting session.
bug_compat_42 or session.bug_compat_warn to off, respectively.
in Unknown on line 0

Meine Einstellungen
PHP 5.1.2
register_globals Off
safe_mode On
session.bug_compat_42 On
session.bug_compat_warn On
Das Script läuft auf einem VPS.

Wie kann man das abstellen? Was bedeutet das?
Gruß Andreas

  1. Mahlzeit Andreas Vogt,

    $query = $DB->dbquery("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Datenbankzugriff ist fehlgeschlagen!');

    Behandle Variablen(inhalte) immer ihrem Kontext entsprechend - nutze in diesem Fall mysql_real_escape_string().

    session_register('user');

    Verwende stattdessen $_SESSION.

    Your script possibly relies on a session side-effect which existed until PHP 4.2.3.
    Please be advised that the session extension does not consider global variables as a source of data,
    unless register_globals is enabled. You can disable this functionality and this warning by setting session.
    bug_compat_42 or session.bug_compat_warn to off, respectively.
    in Unknown on line 0

    Was bedeutet das?

    Was bedeutet es denn, wenn Du den Text einfach mal übersetzt?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hallo,
      danke für deine Hilfe, funktioniert jetzt.

      Gruß Andreas