Nicht mehr ganz neu hier
Guten Tag,
ich bin gerade dabei eine kleine Klasse zuschreiben, die auf eine Datenbank zugreift und dort halt guckt ob die Username / Passwort Kombination des Users korrekt war... Login-System halt..
Mein Code zur Zeit:
die setVars() Methode bekommt wie man sieht halt alle nötigen Infos, ich denke man kann aber leicht erkennen, was wo drin steht...
Das ganze funktioniert leider noch nicht ganz, das ganze scheitert an der Stelle wo es heißt:
Weiß jmd woran das liegen könnte?
Viele Grüße,
Christian
ich bin gerade dabei eine kleine Klasse zuschreiben, die auf eine Datenbank zugreift und dort halt guckt ob die Username / Passwort Kombination des Users korrekt war... Login-System halt..
Mein Code zur Zeit:
PHP:
/**
* Connect to DataBase
*/
class dataBase extends login {
//Infos
protected $_dbInfo, $_uInfo;
//Querys
protected $_sqlCheck;
//Query Params
protected $_queryParamsCheck;
//Querys Results
protected $_resultCheck, $_row;
//Objects
protected $conn;
public function setVars($inputArrayDB, $inputUser, $inputPWD) {
//dbInfo
$this->_dbInfo = array();
$this->_dbInfo['structure'] = $inputArrayDB[0];
$this->_dbInfo['host'] = $inputArrayDB[1];
$this->_dbInfo['username'] = $inputArrayDB[2];
$this->_dbInfo['password'] = $inputArrayDB[3];
$this->_dbInfo['database'] = $inputArrayDB[4];
$this->_dbInfo['table'] = $inputArrayDB[5];
//userInfo
$this->_uInfo = array();
$this->_uInfo['inputUser'] = $inputUser;
$this->_uInfo['inputPWD'] = $inputPWD;
}
public function connect() {
try {
//connect
$this->conn = new PDO($this->_dbInfo['structure'].':host='.$this->_dbInfo['host'].';dbname='.$this->_dbInfo['database'].'', $this->_dbInfo['username'], $this->_dbInfo['password']);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die('ERROR: '.$e->getMessage().'<br />');
}
}
public function close() {
$this->conn = null;
}
public function setQuerys() {
}
public function query() {
try {
$this->_sqlCheck = $this->conn->prepare("SELECT u_id, u_name, u_pass FROM u_users WHERE u_name = :username");
$this->_queryParamsCheck = array(':username' => $this->_uInfo['inputUser']);
$this->_resultCheck = $this->_sqlCheck->execute($this->_queryParamsCheck);
} catch (PDOException $e) {
die('ERROR: '.$e->getMessage().'<br />');
}
}
public function retrieve() {
$this->_row = $this->_sqlCheck->fetch();
if ($this->_row) {
if ($this->_uInfo['inputPWD'] === $this->_row['u_pass']) {
return true;
}
}
//if everything fails the input couldn' t be correct...
return false;
}
}
die setVars() Methode bekommt wie man sieht halt alle nötigen Infos, ich denke man kann aber leicht erkennen, was wo drin steht...
Das ganze funktioniert leider noch nicht ganz, das ganze scheitert an der Stelle wo es heißt:
PHP:
if ($this->_uInfo['inputPWD'] === $this->_row['u_pass']) {
Weiß jmd woran das liegen könnte?
Viele Grüße,
Christian