123 lines
2.4 KiB
PHP
123 lines
2.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
require_once __DIR__ . '/auth.php';
|
||
|
|
require_once __DIR__ . '/../database.php';
|
||
|
|
|
||
|
|
header('Content-Type: application/json; charset=utf-8');
|
||
|
|
|
||
|
|
try {
|
||
|
|
|
||
|
|
$data = json_decode(
|
||
|
|
file_get_contents('php://input'),
|
||
|
|
true
|
||
|
|
);
|
||
|
|
|
||
|
|
$nom = trim($data['nom'] ?? '');
|
||
|
|
$pass = $data['pass'] ?? '';
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* =====================================================
|
||
|
|
* VERIFICATION NOM UTILISATEUR
|
||
|
|
* =====================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
if ($nom === '') {
|
||
|
|
|
||
|
|
throw new Exception(
|
||
|
|
'Le nom utilisateur est obligatoire.'
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* =====================================================
|
||
|
|
* VERIFICATION MOT DE PASSE
|
||
|
|
* =====================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (strlen($pass) < 4) {
|
||
|
|
|
||
|
|
throw new Exception(
|
||
|
|
'Le mot de passe doit contenir au moins 4 caractères.'
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* =====================================================
|
||
|
|
* HASH DU MOT DE PASSE
|
||
|
|
* =====================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
$hash = password_hash(
|
||
|
|
$pass,
|
||
|
|
PASSWORD_DEFAULT
|
||
|
|
);
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* =====================================================
|
||
|
|
* CREATION UTILISATEUR
|
||
|
|
* =====================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
$sql = "
|
||
|
|
INSERT INTO login
|
||
|
|
(nom, pass)
|
||
|
|
VALUES
|
||
|
|
(:nom, :pass)
|
||
|
|
";
|
||
|
|
|
||
|
|
$stmt = $pdo->prepare($sql);
|
||
|
|
|
||
|
|
$stmt->execute([
|
||
|
|
':nom' => $nom,
|
||
|
|
':pass' => $hash
|
||
|
|
]);
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* =====================================================
|
||
|
|
* REPONSE
|
||
|
|
* =====================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
echo json_encode([
|
||
|
|
'success' => true,
|
||
|
|
'message' => 'Utilisateur créé.'
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
} catch (PDOException $e) {
|
||
|
|
|
||
|
|
http_response_code(400);
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* Nom utilisateur déjà existant
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (($e->errorInfo[1] ?? null) == 1062) {
|
||
|
|
|
||
|
|
$message =
|
||
|
|
'Ce nom utilisateur existe déjà.';
|
||
|
|
} else {
|
||
|
|
|
||
|
|
$message =
|
||
|
|
'Erreur lors de la création.';
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
echo json_encode([
|
||
|
|
'success' => false,
|
||
|
|
'message' => $message
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
} catch (Exception $e) {
|
||
|
|
|
||
|
|
http_response_code(400);
|
||
|
|
|
||
|
|
echo json_encode([
|
||
|
|
'success' => false,
|
||
|
|
'message' => $e->getMessage()
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
}
|