PHP Login-Skript hat einen kleinen Fehler

Juggle-Junkie

Lieutenant
Registriert
Feb. 2009
Beiträge
741
Mahlzeit zusammen,

Wär jemand so nett um mir hier mal unter die Arme zu greifen ? Hab bisschen was aus diesem runtergeladenem Skript umgeformt und es will aber nicht funktionieren.

Code:
<html>
<body bgcolor="black" text="white">

<center>
<br><br><br><br><br><br>

<font color="grey">
<b>Login-Daten:</b>
</font>

<p>

<form action="pw_abfrage.php" method="post">

Benutzername:<br>

<input type="Text" name="username"><br>
Passwort:<br>
<input type="Password" name="passwort"><p><br>

<input type="Submit" value="Absenden">
</form>
</center>
</body>
</html>
Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["passwort"];

# $pass = md5($passwort);

if($username=="Julian" && $pass=="start123")
   {
   echo "Login erfolgreich :)";
   }
else
   {
   echo "Login Fehlgeschlagen";
   }

?>
Der sagt mir auch bei start123 das das Passwort falsch ist :(
 
Er sagt dir nicht, dass das Passwort falsch ist, sondern dass der Login fehlgeschlagen ist.
Das kommt daher dass die Variable pass nicht definiert ist, in diesem Fall..
Du hast ja die Zeile mit md5 auskommentiert..
 
Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["passwort"];

# $pass = md5($passwort);

if($username=="Julian" && $passwort=="start123")
   {
   echo "Login erfolgreich :)";
   }
else
   {
   echo "Login Fehlgeschlagen";
   }

?>

Du hast in der if abfrage $pass verglichen! Diese Variable existiert nicht mal wenn du die zeile mit # auskommentierst! wenn du diese zeile nicht auskommentierst musst du es aber nicht mit "start123" etc vergleichen sondern mit dem md5 hash wert deines passworts

PS: noch schöner ist das heir:

Code:
<?php

if($_POST["username"] == "Julian" && md5($_POST["passwort"]) == ".....{ALSO DER MD5 HASH}")
   {
   echo "Login erfolgreich :)";
   }
else
   {
   echo "Login Fehlgeschlagen";
   }

?>

Edit: Hab beim oberen und unteren das PW verdreht kappt
 
Zuletzt bearbeitet:
Mal abgesehen davon, das man das kaum "Login-Script" nennen kann...
 
Naja Soldier Boy,

er muss die Bildung des MD5 weglassen da ja der String "start123" auch kein MD5 ist oder er macht auch md5("start123") was jedoch sinnlos ist, da das Passwort sowieso im Klartext im Code steht.


Quasi so:
Code:
<?php

if($_POST["username"] == "Julian" && $_POST["passwort"] == "start123")
   {
   echo "Login erfolgreich :)";
   }
else
   {
   echo "Login Fehlgeschlagen";
   }

?>
 
Ohne auf den Sinn des Scriptes einzugehen:

Wenn du

Code:
if($username=="Julian" && $pass=="start123")

durch

Code:
if($username=="Julian" && $passwort=="start123")

ersetzt, sollte es gehen.

Aber unbedingt auch die Ratschläge der anderen Poster beherzigen. Man sollte keine Passwörter in Quelltexten hinterlegen und auch nicht im Klartext.
 
Jo dankeschön! Hab das von silentaction genommen und das md5 entfernt und nun funktionierts. Vielen Dank an euch. Und das mit htaccess hat mir en Kollege aus der Berufsschulklasse auch schon gesagt. Aber da das nur ein kleiner Teil des Projektes ist, reicht das hier vollkommen.

Greetz
Julian
 
Zurück
Oben