login-System im Tutorial

Murmelmann

Grünschnabel
Hi.

Kann es sein das das loginsystem in Tutorial einen Fehler hat ? ich habe die DB angelegt, Daten sind eingetragen.

Aber wenn ich mit admin/admin oder test/abc einloggen will geht gar nix.
Das Script ist orginal von der Webseite hier.

http://www.sport-manager.de

(Auf Login klicken)

Ich weiss nicht woran das liegt.

Thx,

Murmel

PS: schon bei ersten aufrufen (login.php) schreibt er drüber

"Die Zugangsdaten waren ungültig"
 
Zuletzt bearbeitet:
Wahrscheinlich hast du einen Fehler drin, schau nochmal ob alle Klammern an der richtigen Stelle geschlossen sind etc.
 
Na ich suche ja schon, kann aber nichts finden. Es kommt auch keine Fehlermeldung. Sorry ich poste mal den Code. Vieleicht fällt ja jemanden was auf

Das Einloggen scheint doch zu klappen, weil die Fehlermeldung "falsche Zugangs-Daten verschwindet) wenn man sich richtig einloggt.
Wie gesagt ist 100% abkopiert aus dem Tutorial.


(login.php)

PHP:
 <?php
// Session starten
session_start ();

// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "web2567", "*****");
if (!mysql_select_db ("usr_web2567_1", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}

$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"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"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];

header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>

(checkuser.php)

PHP:
 <?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
?>

(intern.php)

PHP:
 <?php
include ("checkuser.php");
?>
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
BenutzerId:
PHP:
 <?php echo $_SESSION["user_id"]; ?>
<br>
Nickname:
PHP:
 <?php echo $_SESSION["user_nickname"]; ?>
<br>
Nachname:
PHP:
 <?php echo $_SESSION["user_nachname"]; ?>
<br>
Vorname:
PHP:
 <?php echo $_SESSION["user_vorname"]; ?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>

(benutzer.php)

PHP:
 <?php
// Definition der Benutzer
$benutzer[0]["Nickname"] ="admin";
$benutzer[0]["Kennwort"] = "admin";
$benutzer[0]["Nachname"] = "Mustermann";
$benutzer[0]["Vorname"] = "Max";

$benutzer[1]["Nickname"] = "test";
$benutzer[1]["Kennwort"] = "abc";
$benutzer[1]["Nachname"] = "Kunze";
$benutzer[1]["Vorname"] = "Martin";

// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid = mysql_connect ("localhost", "web2567", "*****");
if (!mysql_select_db ("usr_web2567_1", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}

// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
mysql_query ("DELETE FROM benutzerdaten");

// Daten eintragen
while (list ($key, $value) = each ($benutzer))
{
// SQL-Anweisung erstellen
$sql = "INSERT INTO ".
"benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ".
"VALUES ('".$value["Nickname"]."', '".
md5 ($value["Kennwort"])."', '".
$value["Nachname"]."', '".
$value["Vorname"]."')";
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0)
{
echo "Benutzer erfolgreich angelegt.<br>\n";
}
else
{
echo "Fehler beim Anlegen der Benutzer.<br>\n";
}
}
?>

PHP:
CREATE TABLE benutzerdaten ( 
Id Int(11) NOT NULL auto_increment, 
Nickname VarChar(50) NOT NULL default '', 
Kennwort VarChar(50) NOT NULL default '', 
Nachname VarChar(50) NOT NULL default '', 
Vorname VarChar(50) NOT NULL default '', 
PRIMARY KEY (Id) 
)
 
Zuletzt bearbeitet:
Wo ist die formular.php, die du auf deiner Seite verwendest? Ich nehme stark an dass dort der Fehler vorliegt.

p.s.: Bitte benutze die Syntax Highlighter vom Forum!
 
Original geschrieben von _voodoo
Wo ist die formular.php, die du auf deiner Seite verwendest? Ich nehme stark an dass dort der Fehler vorliegt.

p.s.: Bitte benutze die Syntax Highlighter vom Forum!

O.K Sorry habe ich übersehen.

(formular.php)

PHP:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
</head>

<body>
PHP:
 <?php 
if (isset ($_REQUEST["fehler"])) 
{ 
echo "Die Zugangsdaten waren 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>
 
Zuletzt bearbeitet:
Danke.

Ändert sich aber leider nichts. Ich hatte auch schonmal an dieser Zeile gespielt.

Nach dem erfolgreichen Login, müsste er normalerweise auf die intern.php umleiten. Aber bei diesem Anbieter spinnt zur zeit die auch die php mail-funktion (habe es vorhin erst erfahren). Vieleicht funktionieren die Sessions nicht. (vermutung)

Ich probiere es am besten heute Abend noch mal lokal zuhause aus, oder auf anderem Webspace.

PS: Habe es grade auf anderem Webspace getest, und da funktioniert das Script. Sorry für die Mühe.


Als einzigstes lästig bleibt aber immernoch, das wenn man die login.php immer als erstes liest "Zugangsdaten sind falsch", obwohl man noch gar nichts eingeben hat.

http://dokken.pyrokar.lima-city.de/login.php
 
Zuletzt bearbeitet:
Zurück