コード例 #1
0
/**
 * Fonction permettant de vérifier si le formulaire d'inscription est correct et ne contient pas d'erreurs.
 * @return array : un tableau contenant tous les messages d'erreurs liés au formulaire ou un booléen true si l'inscription
 * s'est bien passée.
 */
function isValidBis()
{
    $tabReturn = array("Retour" => false, "Error" => array());
    $ini = getConfigFile();
    $userName = strtolower($_POST['userName']);
    $mdp = $_POST['mdp'];
    $email = $_POST['email'];
    $emailConfirm = $_POST['emailConfirm'];
    $mdpConfirm = $_POST['mdpConfirm'];
    if (strlen($userName) < $ini['CONSTANTE']['size_user_name']) {
        $tabReturn['Error'][] = "Votre nom d'utilisateur est trop court, 6 caractères minimum ! <br>";
    }
    if (strlen($mdp) < $ini['CONSTANTE']['size_user_mdp']) {
        $tabReturn['Error'][] = "Votre mot de passe est trop court, 5 caractères minimum ! <br>";
    }
    if ($mdp != $mdpConfirm) {
        $tabReturn['Error'][] = "Les mots de passe ne correspondent pas ! <br>";
    }
    if ($email != $emailConfirm) {
        $tabReturn['Error'][] = "Les adresses mail ne correspondent pas ! <br>";
    }
    $um = new UserManager(connexionDb());
    $tabUser = $um->getAllUser();
    $validUserName = true;
    $validUserMail = true;
    $champValid = true;
    foreach ($tabUser as $userTest) {
        if ($userName == strtolower($userTest->getUserName())) {
            $validUserName = false;
        }
        if ($email == $userTest->getEmail()) {
            $validUserMail = false;
        }
    }
    if (!$validUserMail) {
        $tabReturn['Error'][] = "Cette adresse mail est déjà utilisée, veuillez en choisir une autre ! <br>";
    }
    if (!$validUserName) {
        $tabReturn['Error'][] = "Ce login est déjà pris, veuillez en choisir en autre ! <br>";
    }
    if (!champsEmailValable($email)) {
        $tabReturn['Error'][] = "Votre adresse mail contient des caractères indésirables !<br>";
        $champValid = false;
    }
    if (!champsLoginValable($userName)) {
        $tabReturn['Error'][] = "Votre nom d'utilisateur contient des caractères indésirables !<br>";
        $champValid = false;
    }
    if (!champsMdpValable($mdp)) {
        $tabReturn['Error'][] = "Votre mot de passe contient des caractères indésirables !<br>";
        $champValid = false;
    }
    if ($validUserMail and $validUserName and $champValid) {
        $tabReturn['Retour'] = true;
    }
    return $tabReturn;
}
コード例 #2
0
 $validUserName = true;
 $validUserMail = true;
 $champValid = true;
 if (nbUserByUsername($userName) > 0) {
     $validUserName = false;
 }
 if (nbUserByEmail($email) > 0) {
     $validUserMail = false;
 }
 if (!$validUserMail) {
     $return .= "Cette adresse mail est deja utilisee, veuillez en choisir une autre ! ";
 }
 if (!$validUserName) {
     $return .= "Ce login est deja pris, veuillez en choisir en autre ! ";
 }
 if (!champsEmailValable($email)) {
     $return .= "Votre adresse mail contient des caracteres indesirables !";
     $champValid = false;
 }
 if (!champsLoginValable($userName)) {
     $return .= "Votre nom d'utilisateur contient des caracteres indesirables !";
     $champValid = false;
 }
 if (!champsMdpValable($mdp)) {
     $return .= "Votre mot de passe contient des caracteres indesirables !";
     $champValid = false;
 }
 if ($validUserMail and $validUserName and $champValid and $return == "erreur.") {
     $mdp = hash("sha256", $mdp);
     $sql = "INSERT INTO user(userName, password, email) VALUES('" . $userName . "', '" . $mdp . "', '" . $email . "')";
     mysqli_query($con, $sql);
コード例 #3
0
/**
 * Fonction permettant de vérifier si le formulaire de modification de profil est correct et si il ne contient pas d'erreurs.
 * @param User $user : l'utilisateur qui a fait la demande de changement de profil.
 * @return array : un tableau contenant tous les messages d'erreur liés au formulaire de changement de profil ou un booleen
 * si le formulaire est correct.
 */
function isValidForm(User $user)
{
    $config = getConfigFile()['CONSTANTE'];
    $UserName = $_POST['userName'];
    $Email = $_POST['email'];
    $Mdp = $_POST['Mdp'];
    $MdpBis = $_POST['MdpBis'];
    $tel = $_POST['Tel'];
    $MdpActuel = $_POST['MdpActuel'];
    if ($Mdp == '') {
        $Mdp = NULL;
        $MdpBis = NULL;
    }
    $userTest = new User(array("UserName" => $UserName, "email" => $Email, "Mdp" => $Mdp, "tel" => $tel));
    $tab = array("RETURN" => false, "ERROR" => array());
    $nameValable = false;
    $emailValable = false;
    $mdpValable = false;
    $nameExistant = false;
    $mailExistant = false;
    $goodMdp = false;
    $boolean_name = false;
    $boolean_mdp = false;
    $mdpIdentique = false;
    $noMdp = false;
    $um = new UserManager(connexionDb());
    $nameVerif = $um->getUserByUserName($userTest->getUserName());
    if ($nameVerif->getUserName() != NULL && $user->getUserName() != $UserName) {
        $nameExistant = true;
        $tab['ERROR']['Name'] = "Nom déjà existant ";
    }
    if (champsEmailValable($Email)) {
        $emailValable = true;
    } else {
        $tab['ERROR']['EmailValable'] = "Votre email contient des caractères indésirables";
    }
    if (champsEmailValable($UserName)) {
        $nameValable = true;
    } else {
        $tab['ERROR']['NameValable'] = "Votre nom d'utilisateur contient des caractères indésirables";
    }
    $mailVerif = $um->getUserByEmail($userTest->getEmail());
    if ($mailVerif->getUserName() != NULL && $user->getEmail() != $Email) {
        $mailExistant = true;
        $tab['ERROR']['Email'] = "Email déjà existant";
    }
    if ($user->getMdp() == hash("sha256", $MdpActuel . $user->getSalt())) {
        $goodMdp = true;
    } else {
        $tab['ERROR']['MdpActuel'] = "Mauvais mot de passe actuel ! Annulation de la modification";
    }
    if (isset($UserName) and strlen($UserName) >= $config['size_user_name']) {
        $boolean_name = true;
    } else {
        $tab['ERROR']['UserName'] = "******" . $config['size_user_name'] . ")";
    }
    if (isset($Mdp) and isset($MdpBis) and $Mdp == $MdpBis and $Mdp != NULL) {
        if (strlen($Mdp) >= $config['size_user_mdp']) {
            $boolean_mdp = true;
        } else {
            $tab['ERROR']['Mdp'] = "Mots de passe trop court (min: " . $config['size_user_mdp'] . ")";
        }
        if (champsMdpValable($Mdp)) {
            $mdpValable = true;
        } else {
            $tab['ERROR']['mdpValable'] = "Votre mot de passe contient des caractères indésirables";
        }
    } else {
        $noMdp = true;
    }
    if (isset($Mdp) and isset($MdpBis) and $Mdp != $MdpBis) {
        $tab['ERROR']['Mdp'] = "Le mot de passe et le mot de passe de vérification sont différents";
    } else {
        $mdpIdentique = true;
    }
    $tab['RETURN'] = ($boolean_mdp && $mdpValable || $noMdp and $boolean_name and !$nameExistant and !$mailExistant and $goodMdp && $mdpIdentique && $nameValable && $emailValable);
    if ($tab['RETURN']) {
        if (isset($UserName) and $userTest->getUserName() != $user->getUserName()) {
            $user->setUserName($UserName);
        }
        if (isset($Email) and $userTest->getEmail() != $user->getEmail()) {
            $user->setEmail($Email);
        }
        if (isset($Mdp) and strlen($Mdp) > 4 and hash("sha256", $userTest->getMdp() . $userTest->getSalt()) != $user->getMdp()) {
            $user->setMdp($Mdp);
            $user->setHashMdp();
        }
        if (isset($tel) and $tel != $user->getTel()) {
            $user->setTel($tel);
        }
        $um->updateUserProfil($user);
        $userToReconnect = $um->getUserById($user->getId());
        setSessionUser($userToReconnect);
    }
    return $tab;
}