Problem beim Login

Dolphon

Erfahrenes Mitglied
Moin.

Hab da ein Login Skript auf DB Basis.
Ich befinde mich auf der index.php und gebe meine Usernamen undmein Pw ein.
Anschließend wird auf die login.php verwiesen.
Jetzt bekomme ich immr die Fehlermeldung das mein PW nicht mit dem aus der DB übereinstimmt, obwohl es richtiig sein muss.
Hab dabei zu testzwecken als PW mal 1 genommen beim regiestrieren.
Und ich habe aus deer DB meiens Boardes mein md5 PW eingefügt in die DB des Login SKript. Beides schlug fehl.

Hier mal der Code der Login.php:

PHP:
<?php 
session_start(); 
require("config.inc.php"); 

if(!($db = mysql_connect($db_host, $db_user, $db_pass))) //baue datebankverbindung auf 
  die(mysql_error());  //wenn nicht geht, gib fehlermeldung aus 
else //wenn doch geht 
{ 
  if(!mysql_select_db($db_name, $db)) //wähle datenbank aus 
      die(mysql_error());   //wenn das nicht geht, gib fehler aus 
} 

if(!$_POST['username'] || $_POST['username'] == "") { 
  echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zurück</a></p>'; 
}elseif(!$_POST['password'] || $_POST['password'] == "") { 
  echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>'; 
}else{ 
  $passwort = md5($_POST['$password']); 
  $query = @mysql_query("SELECT id, user, pw, gewerbe, email, vorname, nachname, straße, hnr, plz, ort, frei  FROM handwerker WHERE user = '".$_POST['username']."'") or die('Select ist 
fehlgeschlagen!'); 
  $result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a 
href="index.php">Zurück</a></p>'); 
  if($passwort != $result['pw']){ 
    echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>'; 
    die;
  }else{
    $_SESSION["id"] = $result["id"];
    $_SESSION["user"] = $result["user"];
    $_SESSION["gewerbe"] = $result["gewerbe"];
    $_SESSION["email"] = $result["email"];
    $_SESSION["vorname"] = $result["vorname"];
    $_SESSION["nachname"] = $result["nachname"];
    $_SESSION["straße"] = $result["straße"];
    $_SESSION["hnr"] = $result["hnr"];
    $_SESSION["plz"] = $result["plz"];
    $_SESSION["ort"] = $result["ort"]; 
    $_SESSION["frei"] = $result["frei"];

    echo '<p align="center">LogIn erfolgreich! :-)<br><br><a href="intern.php?'.session_name().'='.session_id().'">Weiter</a></p>'; 

  } 
} 
?>

MFG

Dolphon
 
HI. Also ich kann da auf Anhieb keinen Fehler erkennen und bin auch zu faul mir den ganzen code anzugucken. Allerdings mach ich bei meinem Login die Passwort überprüfung anders.

PHP:
$sql = "SELECT * from test_member where nick='$nick' && pw='$passwort'";

$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{  Super geheim....

diese Methode erscheint mir sinnvoller, und funktioniert wunderbar. Allerdings ist die Vorraussetzung, dass es jeden Nick mit dem selben PW nur 1 mal gibt.
 
Also es geht auch so--->


PHP:
$nickname=$HTTP_GET_VARS['nickname']; //Oder $_POST iss ja egal 
$user="SELECT * FROM db WHERE nick='$nickname'";
$s=mysql_query($user);
$vergleiche=mysql_fetch_object($s); 

if ($nickname==$vergleiche->nick && $pw==$vergleiche->pw) {

echo "Du bist drin"; }

else {

echo "Mach das du wegekommst ich kenn dich nicht" ; }

100%

musstes selber für dich ausmachen ; )

Greetz Acidone
 
was fuer ein Fehler wird den ausgegeben? .. und vergiss nicht bei md5 passwoertern muss die spalte in der Tabelle mindestens varchar(32) sein ... md5 == 32 bit verschluesselung.
 
Zurück