public function indexAction() { header('content-type: application/json'); header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: POST'); $valid = true; $errors = []; $username = trim(ucwords(strtolower(htmlentities($_POST['username'])))); $first_name = trim(ucwords(strtolower(htmlentities($_POST['first-name'])))); $last_name = trim(ucwords(strtolower(htmlentities($_POST['last-name'])))); $mail = trim(htmlentities(strtolower($_POST['mail']))); $password = trim(htmlentities($_POST['password'])); $password2 = trim(htmlentities($_POST['password2'])); if (!isset($username) || empty($username)) { $errors['username'] = '******'; $valid = false; } elseif (strlen($username) < 6) { $errors['username'] = '******'; $valid = false; } elseif (strlen($username) > 24) { $errors['username'] = '******'; $valid = false; } if (!isset($first_name) || empty($first_name)) { $errors['firstName'] = '<span class="errors">Non saisi</span>'; $valid = false; } elseif (strlen($first_name) < 2) { $errors['firstName'] = '<span class="errors">2 caractères min</span>'; $valid = false; } elseif (strlen($first_name) > 32) { $errors['firstName'] = '<span class="errors">32 caractères max</span>'; $valid = false; } if (!isset($last_name) || empty($last_name)) { $errors['lastName'] = '<span class="errors">Non saisi</span>'; $valid = false; } elseif (strlen($last_name) < 2) { $errors['lastName'] = '<span class="errors">2 caractères min</span>'; $valid = false; } elseif (strlen($last_name) > 32) { $errors['lastName'] = '<span class="errors">32 caractères max</span>'; $valid = false; } if (!isset($mail) || empty($mail)) { $errors['mail'] = '<span class="errors">Non saisi</span>'; $valid = false; } elseif (!filter_var($mail, FILTER_VALIDATE_EMAIL)) { $errors['mail'] = '<span class="errors">Format incorrect</span>'; $valid = false; } if (!isset($password) || empty($password)) { $errors['password'] = '******'; $valid = false; } elseif (strlen($password) < 8) { $errors['password'] = '******'; $valid = false; } if (!isset($password2) || empty($password2)) { $errors['password2'] = '<span class="errors">Non saisi</span>'; $valid = false; } elseif ($password2 !== $password) { $errors['password2'] = '<span class="errors">Non identiques</span>'; $valid = false; } $errors['valid'] = $valid; if ($valid) { $timestamp = time(); $hash = hash('sha256', strrev($timestamp) . $password . '\\Rand0msalT/'); $errors['create'] = SignupModel::create($this->pdo, $username, $first_name, $last_name, $mail, $hash, $timestamp); } echo json_encode($errors); }