update user (in progress)
This commit is contained in:
@@ -67,4 +67,39 @@ class UserModel extends Database
|
||||
$sth->execute();
|
||||
}
|
||||
|
||||
public function updateUserData($id, $values){
|
||||
$pdo = $this->linkDB();
|
||||
$fields = [];
|
||||
$params = [':id' => $id];
|
||||
|
||||
if(!empty($values["password"])){
|
||||
$salt = bin2hex(random_bytes(16));
|
||||
$hash = hash('sha256', $values["password"] . $salt);
|
||||
$fields["password"] = "´passwort´ = :password";
|
||||
$fields["salt"] = "´salt´ = :salt";
|
||||
$params[":password"] = $hash;
|
||||
$params[":salt"] = $salt;
|
||||
}
|
||||
|
||||
foreach (['name','vorname','email'] as $col) {
|
||||
if (isset($values[$col])) {
|
||||
$fields[] = "`{$col}` = :{$col}";
|
||||
$params[":{$col}"] = $values[$col];
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE user
|
||||
SET " . implode(", ", $fields) . "
|
||||
where id = :id";
|
||||
|
||||
try {
|
||||
$sth = $pdo->prepare($sql);
|
||||
$sth->execute($params);
|
||||
} catch (PDOException $e) {
|
||||
new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren der Daten.", $e);
|
||||
die;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user