Datenbankbasiertes-LogIn-Skript - Passwort klappt nicht

08154711

Erfahrenes Mitglied
Hallo,
Ich habe ein LoginScript nachgebaut. Hab wie beschrieben einen User angelegt, allerdings kommt da immer der Fehler das der User nicht existiert. Der Aufbau zur Datenbank klappt auch.
HIer die connect.inc
PHP:
<?php
#  $dbHost = "***";
#  $dbUser = "***";
#  $dbPass = "***";
#  $dbName = "***";
#  $connect = @mysql_connect($dbHost, $dbUser, $dbPass);
#  $selectDB = @mysql_select_db($dbName, $connect);
#  ?>
index.php
PHP:
<?php
  session_start();
  require("connect.inc.php");
 ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LogIn zum Adminbereich</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
  <table width="400" bgcolor="#000000" border="0"
  cellpadding="5" cellspacing="1" align="center">
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2"><b>Bitte erst anmelden</b></td>
    </tr>
    <tr>
      <td width="170" bgcolor="#e7e7e7">Benutzername</td>
      <td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"
  <?php if($_POST['username'] !=
  "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td>
    </tr>
    <tr>
      <td width="170" bgcolor="#e7e7e7">Passwort</td>
      <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
    </tr>
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2"><input type="submit" name="submit" value="Anmelden" class="button"></td>
    </tr>
  </table>
</form>
<?php
  }elseif(!$_POST['username'] || $_POST['username'] == "") {
  echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br /><br />
  <a href="index.php">Zur&uuml;ck</a></p>';
  }elseif(!$_POST['password'] || $_POST['password'] == "") {
  echo '<form action="index.php" method="post">';
  echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br /><br />';
  echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
  echo '<input type="submit" name="zurueck" value="Zurück">';
  echo '</p>';
  echo '</form>';
  }else{
  $password = md5($_POST['password']);
  $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'");
  $result = @mysql_fetch_array($query) or die('<p align="center">
  Sorry, aber dieser Benutzername existiert nicht!<br /><a
  href="index.php">Zur&uuml;ck</a></p>');
  if($password != $result['pass']){
  echo '<form action="index.php" method="post">';
  echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br /><br />';
  echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
  echo '<input type="submit" name="zurueck" value="Zurück"></p>';
  echo '</form>';
  die;
  }else{
  $user = $result['user'];
  session_register('user');
  echo '<p align="center">LogIn erfolgreich! :-)<br /><br />
  <a href="sichere_seite.php">Weiter</a></p>';
  }
  }
  ?>
</body>
</html>
logout.php
PHP:
# <?php
#  session_start();
#  ?>
#  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
#  <html>
#  <head>
#  <title>LogOut</title>
#  <link rel="stylesheet" type="text/css" href="style.css">
#  </head>
#  <body>
<?php
#  $user = $_SESSION['user'];
#  if(session_destroy()) {
#  echo '<p align="center">Bye bye '.$user.'<br /><br />
#  Du hast Dich erfolgreich abgemeldet.<br /><br /><a href="index.php">Zur
#  Anmeldung</a></p>';
#  }else{
#  echo '<p align="center">Beim Abmelden trat leider ein Fehler auf!
#  <br /><br />Bitte schliesse Dein Browserfenster.';
#  }
#  ?>
</body>
#  </html>
neu.php
PHP:
<?php
  session_start();
     if(!session_is_registered('user') || $_SESSION['user'] == "") {
     header("location:index.php");
     die();
     }
     require("connect.inc.php");
     ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Neuen Benutzer anlegen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
  <table width="400" bgcolor="#000000" border="0" cellpadding="5"
    cellspacing="1" align="center">
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2"><b>Neuen Benutzer anlegen</b></td>
    </tr>
    <tr>
      <td width="170" bgcolor="#e7e7e7">Benutzername</td>
      <td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"
    <?php if($_POST['username'] != "") { echo
    ' value="'.$_POST['username'].'"'; } ?> size="20"></td>
    </tr>
    <tr>
      <td width="170" bgcolor="#e7e7e7">Passwort</td>
      <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
    </tr>
    <tr>
      <td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
      <td width="230" bgcolor="#ffffff"><input type="password" name="password2" size="20" class="input"></td>
    </tr>
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2"><input type="submit" name="submit" value="Benutzer anlegen" class="button"></td>
    </tr>
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2"><a href="sichere_seite.php">Zurück zur Admin-Seite</a></td>
    </tr>
  </table>
</form>
<?php
    }elseif(!isset($_POST['username']) || $_POST['username'] == ""){
    echo '<p align="center">
    Einen Benutzernamen brauchen wir schon ;-)
    <br /><br /><a href="neu.php">Zurück</a></p>';
    }elseif(!isset($_POST['password']) || $_POST['password'] == "") {
    echo '<p align="center">
    Ein Passwort brauchen wir schon ;-)<br /><br /><a href="neu.php">Zurück</a></p>';
    }elseif($_POST['password'] != $_POST['password2']) {
    echo '<form action="neu.php" method="post">';
    echo '<p align="center">Die Passwörter stimmen nicht überein!<br /><br />';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
   echo '<input type="submit" name="zurueck" value="Zurück"></p>';
    echo '</form>';
    }else{
    $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
    $result = @mysql_fetch_array($query);
    if($_POST['username'] == $result['user']) {
    echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br /><br /><a href="neu.php">Zurück</a></p>';
    die;
    }else{
    $username = $_POST['username'];
    $pass = md5($_POST['password']);
    $query = "INSERT INTO users(user,pass) VALUES('$username', '$pass')";
    if(mysql_query($query)){
    echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br /><br /><a href="sichere_seite.php">Zur Admin-
    Seite</a></p>';
    }else{
    echo '<p align="center">
    Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br /><br /><a
    href="neu.php">Zurück</a></p>';
    }
    }
    }
    ?>
</body>
</html>
sichere_seite.php
PHP:
<?php
  session_start();
  if(!session_is_registered('user') || $_SESSION['user'] == "") {
  header("location:index.php");
  die;
 }
  ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Sichere Seite</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<table width="400" bgcolor="#000000" border="0" cellpadding="5"
    cellspacing="1" align="center">
  <tr>
    <td bgcolor="#e7e7e7" align="center"><?php echo "<b>Hallo ".$_SESSION['user']."</b>"; ?> <br />
      <br />
      <b>Hier ist der sichere Inhalt!</b> <br />
      <br />
      <a href="neu.php">Neuen Benutzer anlegen</a> <br />
      <br />
      <a href="logout.php">LogOut</a></td>
  </tr>
</table>
</body>
</html>
style.css
Code:
@charset "utf-8";
/* CSS Document */

body, td {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000000;
}
a:link {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000099;
	text-decoration: none;
}
a:visited {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000099;
	text-decoration: none;
}
a:hover {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #0000ff;
	text-decoration: underline overline;
}
a:active {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000099;
	text-decoration: none;
}
.input {
	width: 150px;
	background-color: #e7e7e7;
	border: 1px solid #000000;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000000;
}
.button {
	background-color: #e7e7e7;
	border: 1px solid #000000;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #000000;
}

Das Script kann man hier sehen http://www.webmaster-eye.de/Datenbankbasiertes-LogIn-Skript.232.artikel.html
Habe den User wie beschrieben angelegt, aber keine Peilung warum der nicht akzeptiert wird.:confused:
 
Zuletzt bearbeitet von einem Moderator:
Ic hab mir das Script jetzt nicht genau angesehn, aber hast du deinen Benutzer auch ein mit "md5()" verschlüsseltes Passwort vergeben und in der DB gespeichert?
 
Hi,
Maniac der User war verschlüsselt. Ja yaslaf da hast Du wahr. Das ist aber der Code so wie ich auch übernommen habe von der Webseite. Such ja "bloss" ein Script mit einem Login und der Weiterleitung allerdings auf eine Seite die für User1 bestimmt ist. User2 soll auch nur auf eine Seite die für Ihn bestimmt ist. Wenn ich das richtig verstanden habe funktioniert das nur mit mysql. Habe einige Scripte probiert, aber beim probieren ist es leider geblieben ich komme irgendwie nicht weiter.
 
Zurück