Schlicht und sicher? Dass ist hier die Frage.
Hier mal die Seite, nur provisorisch:
Die Datenbankverbindungsklasse:
Der Anfang der Login Klasse:
Funktioniert ohne Probleme, meine Frage ist hald ob man das ganze noch schöner gestalten könnte oder ob Ihr sonst noch nen Tipp habt. Die Sessionverwaltung werde ich dann in einer seperaten Klasse abhandeln.
Grüsse & gute Woche!
eXe
Hier mal die Seite, nur provisorisch:
PHP-Code:
if(isset($_POST['submit']) && $_POST['submit'] == "Anmelden"){
$access = new login();
$access->setUser($_POST["username"]);
$access->setPass($_POST["password"]);
$grant = $access->checkLogin();
if($grant == true){
echo "OK";
}else{
echo "FAIL";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>netwerk - simplify your day!</title>
</head>
<body>
<form id="form1" method="post" action="">
<p>
<label for="username">Benutzer: </label>
<input type="text" name="username" id="username" />
<label for="username"><br />
<br />
Kennwort: </label>
<input type="password" name="password" id="password" />
</p>
<p>Anmelden
<input type="submit" name="submit" id="submit" value="Anmelden" />
</p>
</form>
</body>
</html>
PHP-Code:
class clientDB {
function __construct() {
$DSN = "mysql:host=localhost;dbname=".$_SESSION["CLIENT_DATABASE_NAME"];
$NW_USER = "admin";
$NW_PASSWD = "******";
try {
$this->db = new PDO($DSN,$NW_USER,$NW_PASSWD);
}
catch (PDOException $p)
{
echo "Connection to the client database failed.";
echo $p->getMessage();
}
}
}
PHP-Code:
class login {
private $db;
public function setUser($user){
$this->userName = $user;
}
public function setPass($pass){
$this->userPass = $pass;
}
public function checkLogin(){
$this->db = new clientDB();
$sql = $this->db->db->prepare("Select ID from nw_users WHERE userName = ? and userPass = ?");
$sql->bindValue(1,$this->userName,PDO::PARAM_STR);
$sql->bindValue(2,sha1($this->userPass),PDO::PARAM_STR);
$sql->execute();
$result = $sql->rowCount();
if($result > 0){
return true;
}else{
return false;
}
}
}
Grüsse & gute Woche!
eXe
Kommentar