Verzweiflung!!!
Hallo Leute!
Habe versucht einen geschützten Bereich mit Hilfe von Sessions und MySQL zu programmieren, aber leider funktionert es nicht.
Finde den Fehler einfach nicht.
Kann mir vielleicht jemand helfen?
Hier der code:
db:
CREATE TABLE user (
Id Int(11) NOT NULL auto_increment,
Nickname VarChar(50) NOT NULL default '',
Kennwort VarChar(50) NOT NULL default '', PRIMARY KEY (Id)
)
------------------------------
1 User: Nickname : test, Kennwort: test
login.php
formular.php
checkuser.php
intern.php
logout.php
Also ich gebe, Nickname und Kennwort test ein, aber...
es kommt immer
Die Zugangsdaten sind ungültig.
Warum?
HILFE!!!!
Hallo Leute!
Habe versucht einen geschützten Bereich mit Hilfe von Sessions und MySQL zu programmieren, aber leider funktionert es nicht.
Finde den Fehler einfach nicht.
Kann mir vielleicht jemand helfen?
Hier der code:
db:
CREATE TABLE user (
Id Int(11) NOT NULL auto_increment,
Nickname VarChar(50) NOT NULL default '',
Kennwort VarChar(50) NOT NULL default '', PRIMARY KEY (Id)
)
------------------------------
1 User: Nickname : test, Kennwort: test
login.php
PHP-Code:
<?php
// Session starten
session_start ();
// DBverbindung aufbauen
$connectionid = mysql_connect ("lokalhost", "db-user", "dbpw");
if (!mysql_select_db ("db", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nickname".
"FROM ".
"user".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
PHP-Code:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten sind ungültig.";
}
?>
<form action="login.php" method="post">
Name: <input type="text" name="name" size="20"><br>
Kennwort: <input type="password" name="pwd" size="20"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
PHP-Code:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: medien.php");
} // Datei wird nicht direkt aufgerufen, sondern per include() am Anfang jeder internen Seite eingefügt.
?>
PHP-Code:
<?php
include ("checkuser.php");
?>
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nickname: <?php echo $_SESSION["user_nickname"]; ?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
PHP-Code:
<?php
// Wird ausgeführt um mit der Ausgabe des Headers zu warten.
ob_start ();
session_start ();
session_unset ();
session_destroy ();
header ("Location: formular.php");
ob_end_flush ();
?>
es kommt immer
Die Zugangsdaten sind ungültig.
Warum?
HILFE!!!!
Kommentar