use core\Validator; use core\App; if (App::getAuth()->isConnect()) { header('Location: ' . $dir . '/pictionnary/home'); exit; } if (!empty($_POST)) { $validator = new Validator($_POST); $validator->isEmail('email', 'Email non valide'); $validator->isPassword('passwd', 'Mot de passe invalide'); $validator->isAlpha('firstname', 'Format du prénom invalide'); $validator->isAlpha('lastname', 'Format du nom invalide', false); $validator->isTel('number', 'Format du numéro de téléphone invalide', false); $validator->isSexe('sexe', 'Format du sexe invalide', false); $validator->isUrl('website', 'Format du site web invalide', false); $validator->isDate('birthday', 'Format de la date invalide'); $validator->isAlphaCaractere('ville', 'Format de la ville invalide', false); $validator->isColor('color', 'Format de la couleur invalide', false); $validator->isPicture('picture', 'Format de la photo invalide', false); $validator->isTaille('taille', 'Format de la taille invalide', false); if ($validator->isValid()) { $db = App::getDataBase(); $result = $db->prepare('SELECT * FROM users WHERE email = :email', ['email' => $_POST['email']]); if (count($result) == 1) { $errors = ['Email existant']; } else { $db->insert("INSERT INTO users (email, password, nom, prenom, tel, website, sexe, birthdate, ville, taille, couleur, profilepic)\n VALUES (:email, :password, :nom, :prenom, :tel, :website, :sexe, :birthday, :ville, :taille, :couleur, :profilepic)", ['email' => $_POST['email'], 'password' => hash('sha256', $_POST['passwd']), 'nom' => $_POST['firstname'], 'prenom' => $_POST['lastname'], 'tel' => $_POST['number'], 'website' => $_POST['website'], 'sexe' => empty($_POST['sexe']) ? null : $_POST['sexe'], 'birthday' => $_POST['birthday'], 'ville' => $_POST['ville'], 'taille' => $_POST['taille'], 'couleur' => str_replace('#', '', $_POST['color']), 'profilepic' => $_POST['picture']]); App::getAuth()->login(App::getDataBase(), $_POST['email'], $_POST['passwd']); } } else { $errors = $validator->getErrors();