D-LuX
Erfahrenes Mitglied
Aktuelles Script:
Login funktioniert mit richtigen Daten werde ich auf die index zurück geleitet!
(header('Location: http://server/index.htm') , aber
folgendes macht er nicht:
und das auch nicht ..
Also es wird kein "Begrüßungstext" ausgegeben und bei Falscheingabe erscheint auch keine Fehlermeldung!
Ursprünglicher Thread-Start ..Fehler bereits behoben!
Hallo
Bin jetzt dabei mein Login-Script zu schreiben und stoße auf folgende unschöne 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
Register Globals sollten off sein, wie ich bisher in Erfahrung bringen konnte und müssen sie auch bleiben!
Also register_globals sind "Off"
session.bug_compat_42 "On"
session.bug_compat_warn "On"
Also alles genau so, wie es nicht sein sollte ..das kann aber doch nicht sein?!
Gibt es evtl. eine andere Möglichkeit? Programmiertechnisch?
Hat jemand vielleicht schonmal erfahrungen mit diesem Problem gesammelt?
Hier das Script:
Login funktioniert mit richtigen Daten werde ich auf die index zurück geleitet!
(header('Location: http://server/index.htm') , aber
folgendes macht er nicht:
PHP:
if ($row['user_nick'] == $_POST['user_nick'] && $row['user_passwort'] == $_POST['user_passwort'])
{
$status = "Login korrekt! Hallo " . $row['user_nick'];
$user_id = $_REQUEST['user_id'];
$_SESSION['user_id'] = $user_id;
$user_nick = $_REQUEST['user_nick'];
$_SESSION['user_nick'] = $user_nick;
header('Location: http://server/index.htm');
}
else
{
$status = "Falsche Login-Daten oder Passwort falsch";
}
}
else
{
$status = ($_POST['login']) ? 'Bitte korrekte Daten angeben!' : 'Bitte nochmal checken!';
}
und das auch nicht ..
PHP:
<?PHP
session_start ();
if (!isset($_SESSION['user_id']) || empty($_SESSION['user_id']))
{
header("location: http://server/login.php");
exit;
}
else
{
//Dieser Bereich ist schon geschützt
echo "Hallo" . $_SESSION['user_nick'];
}
?>
Also es wird kein "Begrüßungstext" ausgegeben und bei Falscheingabe erscheint auch keine Fehlermeldung!
Ursprünglicher Thread-Start ..Fehler bereits behoben!
Hallo
Bin jetzt dabei mein Login-Script zu schreiben und stoße auf folgende unschöne 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
Register Globals sollten off sein, wie ich bisher in Erfahrung bringen konnte und müssen sie auch bleiben!
Also register_globals sind "Off"
session.bug_compat_42 "On"
session.bug_compat_warn "On"
Also alles genau so, wie es nicht sein sollte ..das kann aber doch nicht sein?!
Gibt es evtl. eine andere Möglichkeit? Programmiertechnisch?
Hat jemand vielleicht schonmal erfahrungen mit diesem Problem gesammelt?
Hier das Script:
PHP:
<form action = '".$_SERVER['PHP_SELF']."' method='post'>
Benutzername: <p><input type='text' name='user_nick'>
<br>
Passwort: <p><input type='password' name='user_passwort'>
<br>
<input type='submit' name='login' value='login'>
</form>
//ab hier dann der php-Teil!
if ($_POST[user_nick] && $_POST[user_passwort])
{
$host = "xxx";
$benutzer = "xxx";
$password = "xxx";
$db = mysql_connect($host,$benutzer,$password);
mysql_select_db("xxx");
$user_nick = $_POST['user_nick'];
$user_passwort = $_POST['user_passwort'];
$sql="SELECT * FROM users
WHERE user_nick = '$user_nick' and user_passwort = '$user_passwort'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
if ($row[user_nick] == $_POST[user_nick] && $row[user_passwort] == $_POST[user_passwort])
{
$status = "Login korrekt! Hallo '.$row[user_nick]'";
$_SESSION['user_id'] = $row[$user_id];
$_SESSION['user_nick'] = $row[$user_nick];
}
else
{
$status = "Falsche Login-Daten oder Passwort falsch";
}
}
else
{
$status = ($_POST['login']) ?'Bitte korrekte Daten angeben!':
'Bitte nochmal checken!';
}
Zuletzt bearbeitet: