LogIn mit PHP und MySQL Probleme

Es ist egal, ob PHP oder MySQL den MD5-Wert errechnet, da es ein standardisierter Algorithmus ist.
 
Wenn der RückgabeWert vom MySQL Server 0 ist dann kommt natürlich Login fehlgeschlagen, das Script kann auch nichts dafür.. Das script macht nur das was du ihm sagst was anderes nicht :) Du solltest am besten mal das gesamte Script nochmal durchgehen (in ruhe). Hast du auch es so eingestellt dass er auch wenn du deine eingabe im Login Bereich gemacht hast auch den in einem md5 hash genereriert und ihn mit dem in der datenbank vergleicht? und wenn username und passwort richtig sind soll, natürlich Login erfolgreich ist?

MfG
KD3
 
Hast Du Dir mal die gespeicherten Benutzerdaten in der Datenbank angeschaut? Nicht das der Fehler hier liegt.

Du hast auf Seite 2 für das Speichern der Benutzerdaten folgenden Code gepostet :

PHP:
mysql_select_db("$db");

$getitin = "INSERT INTO $db_table (user, pass, site) ". "VALUES ('".$user."', '". md5$pass)."', '".$site."', '".


mysql_query($getitin) or die("Fehler beim erstellen des Acoounts <b>" .$user. "</b></br> ERROR: " . mysql_error());

echo "Der Account für <b>" .$user. "</b> wurde erstellt.</br></br>";
if(mkdir($site,7777));
   echo 'Ihr persönlicher Bereich auf dem Server wurde erstellt.</br>';

Wenn das wirklich der Originalcode ist, kann es eigentlich gar nicht klappen.

Der INSERT INTO endet a) mit einem Komma als ob Du hier noch einen vierten Wert angeben willst und b) steht als letztes Zeichen ein Punkt auch das sieht so aus als ob da noch was kommt. Jedenfalls haut das Speichern der Angaben so nicht hin.

Außerdem endet die IF Abfrage zum Erstellen des Verzeichnisses mit einem Semikolon. Auch hier müßte eigentlich eine Fehlermeldung ausgegeben werden.

Wie gesagt prüfe den Inhalt der Datenbank ob die Daten hier so stehen wie sie sollen. Alles andere scheint nämlich in Ordnung zu sein.

Gruß Thomas
 
mysql_select_db("$db");

$getitin = "INSERT INTO $db_table (user, pass, site) ". "VALUES ('".$user."', '". md5$pass)."', '".$site."', '".


mysql_query($getitin) or die("Fehler beim erstellen des Acoounts <b>" .$user. "</b></br> ERROR: " . mysql_error());

echo "Der Account für <b>" .$user. "</b> wurde erstellt.</br></br>";
if(mkdir($site,7777));
echo 'Ihr persönlicher Bereich auf dem Server wurde erstellt.</br>';

Liegt es vielleicht daran
 
Ich habe es soweit fertig

hier mal der komplette code:

register.html
HTML:
<head>
<title>Hier können Sie sich kostenlos Registrieren!</title>
</head>
<body>
    Bitte geben Sie Ihre Daten an.</br>
    <font color="#FF0000">ACHTUNG: Alle Felder müssen ausgefüllt sein!</font>
	<form action="register.php" method="POST">
Username: <input type="text" name="username"><br>
Kennwort: <input type="password" name="password"><br><br>
	<input type="submit" name="register" value="register">
         </br>
         </br>
        <a href="../index.html"> Hier geht es zurück zur Startseite    </a>
</form>

register.php
PHP:
<?php
$pass = $_POST['password'];
$user = $_POST['username'];
$site = $_POST['username']."-".date("d-m-Y");
/*DB-DATEN*/
$db_user = "user";
$db_pass = "passwort";
$db_host = "adresse";
 /*Verbindung zur Datenbank wird hergestellt*/
$link = mysql_connect($db_host, $db_user, $db_pass);

if (!mysql_select_db ("userdata", $link))
{
  die ("Keine Verbindung zur Datenbank");
}
    $sql = "INSERT INTO ".
    "acc (user, pass, site) ".
  "VALUES ('".$user."', '".
                       md5 ($pass)."', '".
                       $site."')";
		mysql_query ($sql)
          or die("Fehler beim erstellen des Acoounts <b>" .$user. "</b></br> ERROR: " . mysql_error());
         echo "Der Account für <b>" .$user. "</b> wurde erstellt.</br></br>";
         if(mkdir($site,7777));
           echo 'Ihr persönlicher Bereich auf dem Server wurde erstellt.</br>';
?>
</br>
Sie können sich jetz auf der <a href="login_formular.php">LogIn Seite</a> anmelden oder
<a href="../index.html"> hier    </a>  zur Startseite gelangen.

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

<body>
<?php
if (isset ($_REQUEST["fehler"]))
{
  echo "Die Zugangsdaten waren ungültig.";
}
?>
<form action="login.php" method="post">
  Username: <input type="text" name="username" size="20"><br>
  Kennwort: <input type="password" name="password" size="20"><br>
  <input type="submit" value="Login">
</form>
</body>
</html>

login.php
PHP:
<?php
$pass = $_POST['password'];
$user = $_POST['username'];
//Session starten
session_start ();

// Datenbankverbindung aufbauen
$connID = mysql_connect ("adresse", "username", "passwort");
if (!mysql_select_db ("userdata", $connID))
{
  die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT user,pass FROM acc WHERE user='".$user."' AND pass= '" .md5 ($pass) ."'";
$result = mysql_query ($sql, $connID);
$row = mysql_fetch_row($result);
if (mysql_num_rows($result) == 1)
{
 echo "Eingelogt";
  //header("Location: geheime_seite.php");
} else
 echo "Falsche daten";
  //header("Location: login_formular.php?fehler=1");
?>
 
Zurück