46 lines
1.1 KiB
PHP
46 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Blog\Model;
|
|
|
|
use Blog\Model\Database;
|
|
use PDOException;
|
|
use Random\RandomException;
|
|
|
|
class UserModel extends Database
|
|
{
|
|
/**
|
|
* @throws RandomException
|
|
*/
|
|
public function createUser($values){
|
|
|
|
$salt = bin2hex(random_bytes(16));
|
|
|
|
$hash = hash('sha256', $values["password"] . $salt);
|
|
|
|
$guid = rand(0, 500);
|
|
|
|
$pdo = $this->linkDB();
|
|
|
|
$sql = "INSERT INTO user (`id`, `name`,`vorname`,`email`,`passwort`,`salt`,`role`)
|
|
VALUES (:guid, :name, :firstname, :email, :password, :salt, :role)";
|
|
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute([
|
|
":guid" => $guid,
|
|
":name" => $values["name"],
|
|
":firstname" => $values["lastname"],
|
|
":email" => $values["email"],
|
|
":password" => $hash,
|
|
":salt" => $salt,
|
|
":role" => $values["role"]
|
|
]);
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
|
|
die;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
} |