Esempio n. 1
0
 validationChamp("/^((?![DdFfIiOoQqUu])([A-Za-z][0-9])){3}\$/", $tabClient['codePostal'], 'codePostal', 'Sans espace: A9A9A9');
 //Numéro de téléphone: 10 chiffres, optionnellement encadrés ainsi: (xxx)yyy-zzzz
 /* Explication: Parenthèse et tiret optionnel sur tout le champ, avec espace optionnel après l'indicatif régionnal. (?(1)\) Regarde s'il y avait un match dans le premier group (première parenthèse ouvrante optionnel)
 	si oui, on fait un match sur la parenthèse fermante (IF ?(1) THEN \) ). Ensuite un espace optionnel après ce groupe et on écrit le reste du pattern.
 	À partir de la bar vertical "|" c'est la partie ELSE du conditionnel. Le deuxième groupe est déjà présent (le premier [0-9]), mais l'espace optionnel après la parenthèse fermante fait partie du conditionnel, que nous n'avons pas passé le teste. Donc, il faut mettre l'espace conditionnel au début cette fois. Après, match trivial de numéro et tirets et espaces optionnels.
 	*/
 if (!preg_match("/^(\\()?[0-9]{3}(?(1)\\)[ -]?[0-9]{3}[- ]?[0-9]{4}|([ -]?)[0-9]{3}[ -]?[0-9]{4})\$/", $tabClient['telephone']) || preg_match("/^[0-9]{6}[ -]{1}[0-9]{4}\$/", $tabClient['telephone'])) {
     $messages['telephone'] = 'Parenthèse, tiret et espace optionnels: (xxx)yyy-zzzz)';
     $valide = false;
 }
 //Nom d'usager et mot de passe: au moins 5 caractères max 10 parmi lettres et chiffres
 validationChamp("/^[a-zàáâéèêîíìôòóùúûç0-9]{5,10}\$/iu", $tabClient['nomUtilisateur'], 'nomUtilisateur', 'Entre 5 et 10 caractères. Lettre et chiffres seulement.');
 //Nom d'usager et mot de passe: au moins 5 caractères max 10 parmi lettres et chiffres
 validationChamp("/^[a-zàáâéèêîíìôòóùúûç0-9]{5,10}\$/iu", $tabClient['motDePasse'], 'motDePasse', 'Entre 5 et 10 caractères. Lettre et chiffres seulement.');
 //Nom d'usager et mot de passe: au moins 5 caractères max 10 parmi lettres et chiffres
 if (validationChamp("/^[a-zàáâéèêîíìôòóùúûç0-9]{5,10}\$/iu", $tabClient['confirm'], 'confirm', 'Entre 5 et 10 caractères. Lettre et chiffres seulement.')) {
     //Mot de passe de confirmation n'est pas le même que le mot de passe
     if ($tabClient['confirm'] != $tabClient['motDePasse']) {
         $messages['confirm'] = 'N\'est pas identique au mot de passe.';
         $valide = false;
     }
 }
 //Vérifie si chacun des champs est set et non vide.
 //Si oui, on met le message correspondant qui signal un champs requis.
 foreach ($tabClient as $key => $value) {
     if (empty($value)) {
         $messages[$key] = $msgRequis;
         $valide = false;
     }
 }
 //Rend en majuscule le code postal
Esempio n. 2
0
}
//Si l'utilisateur est déjà authentifié
if (isset($_SESSION['authentification'])) {
    //On peut assumé qu'un objet client est enregistré sous la variable de SESSION et on le récupère.
    $client = $_SESSION['client'];
    //On arrive du bouton valider, changement du mot de passe à valider.
    if (isset($_POST['valider'])) {
        //Tableau pour contenir les données entré par l'utilisateur
        $tabMotPasse = array();
        //Désinfecte les données de l'utilisateur.
        foreach ($_POST as $cle => $valeur) {
            $tabMotPasse[$cle] = desinfecte($valeur);
        }
        //Mot de passe: au moins 5 caractères max 10 parmi lettres et chiffres
        validationChamp("/^[a-zàáâéèêîíìôòóùúûç0-9]{5,10}\$/iu", $tabMotPasse['mdpNouveau'], 'Nouveau mot de passe: entre 5 et 10 caractères. Lettre et chiffres seulement.');
        if (validationChamp("/^[a-zàáâéèêîíìôòóùúûç0-9]{5,10}\$/iu", $tabMotPasse['mdpConfirmer'], 'Confirmation du nouveau mot de passe: entre 5 et 10 caractères. Lettre et chiffres seulement.')) {
            //Mot de passe de confirmation n'est pas le même que le mot de passe
            if ($tabMotPasse['mdpConfirmer'] != $tabMotPasse['mdpNouveau']) {
                $messages[] = 'Confirmation du nouveau mot de passe: N\'est pas identique au nouveau mot de passe.';
                $valide = false;
            }
        }
        //Mot de passe actuel est le même que le nouveau mot de passe.
        //On se fit à la valeur des champs plutôt que de vérifier en BD.
        if ($tabMotPasse['mdpActuel'] == $tabMotPasse['mdpNouveau']) {
            $messages[] = 'Le nouveau mot de passe et le mot de passe actuel sont les mêmes.';
            $valide = false;
        }
        //Récupère un array avec les données du compte client si le nom d'utilisateur existe.
        $resultat = $maBD->selectClient($client->getNomUtilisateur());
        //Vérifie le mot de passe