1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| <?php
class User extends Model
{
public $idName;
public $errors = [];
public function __construct()
{
$this->table = "users";
$this->idName = "userId";
//$this->userName = "userName";
$this->getConn();
}
public function userNameCheck(string $userName)
//On vérifie si le nom d'utilisateur existe dans la table users et on renvoie
//le résultat
{
$userName = strip_tags($userName);
$sql = 'SELECT userName
FROM ' . $this->table .
' WHERE userName = :userName';
$qry = $this->_connexion->prepare($sql);
$qry->bindValue(':userName', $userName, PDO::PARAM_STR);
$qry->execute();
$result = $qry->rowCount();
if ($result == 0) {
return true;
} else {
echo json_encode($errors[] = " - Ce nom d'utilisateur existe déjà dans notre base, veuillez en choisir un autre.") . '<br>';
return false;
}
}
public function userEmailCheck(string $userEmail)
{
$userEmail = strip_tags($userEmail);
$sql = 'SELECT userEmail
FROM ' . $this->table .
' WHERE userEmail = :userEmail';
$qry = $this->_connexion->prepare($sql);
$qry->bindValue(':userEmail', $userEmail, PDO::PARAM_STR);
$qry->execute();
$result = $qry->rowCount();
//On vérifie si le mail de l'utilisateur existe déjà dans la table users et on renvoie
//le résultat
if ($result == 0) {
return true;
} else {
echo json_encode($errors[] = " - Cet email existe déjà dans notre base , veuillez en sélectionner un autre.") . '<br>';
return false;
}
//Vérification si l'email est valide
if (!filter_var($userEmail, FILTER_VALIDATE_EMAIL)) {
echo json_encode($errors[] = " - Cet email semble invalide, veuillez vérifier que son format soit correct.") . '<br>';
return false;
}
}
public function userPasswordCheck(string $userName, string $userPassword)
{
$userName = strip_tags($userName);
$userPassword = strip_tags($userPassword);
$sql = 'SELECT userName , userPassword
FROM ' . $this->table .
' WHERE userName = :userName
AND userPassword = :userPassword';
$qry = $this->_connexion->prepare($sql);
$qry->bindValue(':userName', $userName, PDO::PARAM_STR);
$qry->bindValue(':userPassword', $userPassword, PDO::PARAM_STR);
$qry->execute();
$result = $qry->rowCount();
if ($result == 0) {
echo json_encode($errors[] = " - Le mot de passe spécifié n'est pas reconnu, veuillez vérifier votre frappe.") . '<br>';
return false;
} else {
return true;
}
}
public function createUserAccount(string $userName, string $userEmail, $userPassword, string $userPhone)
{
$userName = strip_tags($userName);
$userPassword = strip_tags($userPassword);
//On crypte le mot de passe avant envoi au serveur
$userPasswordCrypted = password_hash($_POST['userPassword'], PASSWORD_ARGON2ID);
$userPhone = strip_tags($userPhone);
$userEmail = strip_tags($userEmail);
$idName = "userId";
$sql = "INSERT INTO users (userName,userEmail,userPhone,userPassword,userRole)
VALUES(:userName,:userEmail,:userPhone,:userPassword,'user')";
$qry = $this->_connexion->prepare($sql);
$qry->bindValue(':userName', $userName, PDO::PARAM_STR);
$qry->bindValue(':userEmail', $userEmail, PDO::PARAM_STR);
$qry->bindValue(':userPhone', $userPhone, PDO::PARAM_STR);
$qry->bindValue(':userPassword', $userPasswordCrypted, PDO::PARAM_STR);
$result = $qry->execute();
if ($result) {
//$userId = $this->_connexion->lastInsertId($idName);
echo ('Création de nouvel utilisateur réussie !');
} else {
echo ('La création du nouvel utilisateur a échoué.');
}
}
} |
Partager