Login Script erzeugt Fehlermeldung
Andreas Vogt
- php
0 EKKi
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ü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ü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
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 0Was bedeutet das?
Was bedeutet es denn, wenn Du den Text einfach mal übersetzt?
MfG,
EKKi
Hallo,
danke für deine Hilfe, funktioniert jetzt.
Gruß Andreas