Hey Leute ich hab mal wieder ein kleines Problem und ich komm ienfach nicht auf die Lösung.
Ich hab ne Userverwaltung mit Login, Logout, Adminbereich und verschieden Klassen.
Ich Verschlüssele das Passwort mit MD5 und schicke es dan an meine Datenbank.
beim Auslesen des Passwortes beim Login brngt mir mein Script aber laufend die Meldung dass es das Falsche Passwort wäre.
cl_zugriff.php (Ist für die Anmeldung, Abmeldung, und die Rechtevergabe zuständig)
Alles anzeigen
Das ist meine Login Datei login.php
Danke für eure Hilfe
Ich hab ne Userverwaltung mit Login, Logout, Adminbereich und verschieden Klassen.
Ich Verschlüssele das Passwort mit MD5 und schicke es dan an meine Datenbank.
beim Auslesen des Passwortes beim Login brngt mir mein Script aber laufend die Meldung dass es das Falsche Passwort wäre.
cl_zugriff.php (Ist für die Anmeldung, Abmeldung, und die Rechtevergabe zuständig)
Quellcode
- <?php
- class zugriff
- {
- PROTECTED $idle=10;//Leerlaufzeit
- PROTECTED $umleitenlogout="<a href=\"ziel.php\">Weiter</a>";
- //Umleitungsziel
- PROTECTED $umleitenlogin="<a href=\"ziel.php\">Weiter</a>";
- //Umleitungsziel
- PRIVATE $modus;
- PUBLIC function __construct($modus=1, $mindestrecht=1)
- {
- //modus 1 Zugriffsrecht testen
- //modus 2 Login anzeigen
- //modus 3 Logout anzeigen
- //$mindestrecht==1 //normale Seite mit Schutz
- //$mindestrecht==2 //Admin Seite
- $this->modus=$modus;
- if($_POST['sentzu']==2)
- {
- $ret = $this->logout();
- $ret[1].="<br>".$this->umleitenlogout;
- }
- if($_POST['sentzu']==1)
- {
- $ret = $this->testlogin();
- if($this->modus==2 AND $ret[0])
- {$ret[1].="<br>".$this->umleitenlogin;}
- }
- if($this->modus==1)
- {
- $ret=$this->testrecht($mindestrecht);
- }
- if($ret[0])
- {
- $this->schreibrecht();
- }
- if(!$ret[0] OR $this->modus==2 OR $this->modus==3)
- {
- echo "<html><head><title>LOGIN/LOGOUT</title></head><body>";
- echo "<div align=center>";
- if($ret[1]){echo "<h2><font color=red>".$ret[1]."</font></h2>";}
- }
- if(!$ret[0] AND $this->modus!=3)
- {
- echo $this->formlogin();
- }
- if(!$ret[0] AND $this->modus==3)
- {
- echo $this->formlogout();
- }
- if(!$ret[0] OR $this->modus==2 OR $this->modus==3)
- {
- echo "</div></body></html>";
- die();
- }
- }//ende Konstruktor
- PROTECTED function testlogin()
- {
- $db = new db();
- $result=$db->execute("SELECT kwort, ID, kennung, (UNIX_TIMESTAMP()-
- UNIX_TIMESTAMP(zeit)) as time, zeit FROM user WHERE username='".$db->
- prepare($_POST['username'])."' ");
- if($db->num_rows() != 1 )
- {
- $meldung="Bitte kontrollieren Sie Ihren Benutzernamen";
- return array(FALSE, $meldung);
- }
- if (md5($_POST['kwort']) != $result[1]['kwort'])
- {
- $meldung="Bitte kontrollieren Sie Ihr Kennwort";
- return array(FALSE, $meldung);
- }
- if($result[1]['kennung']== session_id() AND $result[1]['time']/60<$this->idle)
- {
- $meldung.="Sie sind bereits eingeloggt als ".$this->username();
- $_SESSION['sit']=session_id();
- $_SESSION['IDuser']=$result[1]['ID'];
- return array(FALSE, $meldung);
- }
- if($result[1]['kennung'] !='' AND $result[1]['time']/60<$this->idle)
- {
- $meldung.="Es ist bereits jemand mit Ihrem Benutzernamen eingeloggt";
- return array(FALSE, $meldung);
- }
- $db1= new db();
- $sql="UPDATE user SET ";
- $sql.=" zeit= now(), ";
- $sql.=" kennung='".session_id()."' ";
- $sql.=" WHERE ID='".$result[1]['ID']."' ";
- $db1->execute($sql);
- $_SESSION['IDuser']=$result[1]['ID'];
- $_SESSION['sit']=session_id();
- $meldung="Sie wurden eingeloggt als ".$_POST['username'];
- return array(TRUE, $meldung);
- }
- PROTECTED function formlogin()
- {
- $aus.="<h2>Bitte die Benutzerinformationen eingeben</h2>";
- $aus.="<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">";
- $aus.="<input type=\"hidden\" name=\"sentzu\" value=\"1\">";
- $aus.="<p>Benutzername</p>";
- $aus.="<input type=\"text\" name=\"username\"
- value=\"".$_POST['username']."\">";
- $aus.="<p>Kennwort</p>";
- $aus.="<input type=\"password\" name=\"kwort\">";
- $aus.="<br><br><input type=\"submit\" value=\"LOGIN\" >";
- $aus.="</form>";
- return $aus;
- }
- PROTECTED function testrecht($mindestrecht)
- {
- if(!$_SESSION['IDuser'])
- {
- $meldung="<br>Bitte loggen Sie sich ein.";
- return array(FALSE,$meldung);
- }
- if(!$_SESSION['sit'])
- {
- $meldung="<br>Bitte loggen Sie sich ein.";
- return array(FALSE,$meldung);
- }
- $sql="SELECT admin, zeit, kennung, (UNIX_TIMESTAMP()-
- UNIX_TIMESTAMP(zeit)) as time FROM user WHERE
- ID=".$_SESSION['IDuser']." AND kennung='".$_SESSION['sit']."'";
- $db = new db();
- $result=$db->execute($sql);
- if($db->num_rows() != 1)
- {
- $meldung="<br>Sie sind nicht angemeldet, bitte loggen Sie sich ein.";
- return array(FALSE,$meldung);
- }
- if($result[1]['time']/60>$this->idle)
- {
- $meldung="<br>Ihre SitzungsID ist aufgrund zu langer Inaktivität
- nicht mehr gültig, bitte melden Sie sich erneut an.";
- return array(FALSE,$meldung);
- }
- if($result[1]['admin']==-1 AND $mindestrecht==2)
- {
- $meldung="<br>Sie sind nicht als Administrator angemeldet, Sie haben
- keine Zugriffsrechte auf diese Seite.";
- return array(FALSE,$meldung);
- }
- return array(TRUE,"");
- }
- PROTECTED function schreibrecht()
- {
- if($_SESSION['IDuser'] AND $_SESSION['sit'])
- {
- $sql="UPDATE user SET ";
- $sql.=" zeit= now() ";
- $sql.=" WHERE ID='".$_SESSION['IDuser']."' AND kennung =
- '".$_SESSION['sit']."'";
- $db = new db();
- $result=$db->execute($sql);
- }
- }
- PROTECTED function formlogout()
- {
- $aus.="<h2>Sie sind angemeldet als ".$this->username()."<br>";
- $aus.="Abmelden?</h2>";
- $aus.="<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">";
- $aus.="<input type=\"hidden\" name=\"sentzu\" value=\"2\">";
- $aus.="<br><br><input type=\"submit\" value=\"Abmelden\">";
- $aus.="</form>";
- return $aus;
- }//Ende logoutform
- PROTECTED function logout()
- {
- $sql="UPDATE user SET ";
- $sql.=" zeit= 0, ";
- $sql.=" kennung='' ";
- $sql.=" WHERE ID='".$_SESSION['IDuser']."' ";
- $db = new db();
- $result=$db->execute($sql);
- if($db->affected_rows() == 1)
- {
- $_SESSION['sit']="";
- $_SESSION['IDuser']="";
- $meldung="<br>Sie haben sich erfolgreich abgemeldet.";
- }
- else
- {
- $meldung="<br>Sie waren nicht angemeldet.";
- }
- return array(TRUE, $meldung);
- }
- PUBLIC function username()
- {
- $sql="SELECT username FROM user ";
- $sql.=" WHERE ID='".$_SESSION['IDuser']."' ";
- $db = new db();
- $result=$db->execute($sql);
- if($db->num_rows() == 1)
- {
- return $result[1]['username'];
- }else {return False;}
- }
- }//ende class
- ?>
Das ist meine Login Datei login.php
Danke für eure Hilfe