コード例 #1
0
ファイル: authentification.php プロジェクト: Tri125/LogiKek
    header("location:./inscription.php");
    exit;
}
//Si on a redirigé un usagé vers authentification.php, la variable 'prov' du GET
//note la page d'origine.
if (isset($_GET['prov'])) {
    //On l'enregistre dans la variable de session pour pouvoir la garder lors d'un refraichissement.
    $_SESSION['prov'] = $_GET['prov'];
}
//Si on arrive à la page après le bouton submit 'valider' du formulaire a été cliqué.
if (isset($_POST['valider'])) {
    $tabFormulaire = array();
    //Le POST contient toutes les données entré par l'utilisateur dans le formulaire.
    //On désinfecte les données et les enregistres dans le tableau.
    foreach ($_POST as $cle => $valeur) {
        $tabFormulaire[$cle] = desinfecte($valeur);
    }
    //Retourne un tableau contenant les données du compte client si le nom d'utilisateur et
    //le mot de passe correspond à un compte client dans la base de données.
    //$tmp = $maBD->selectClientMotDePasse($tabFormulaire['nomUtilisateur'], $tabFormulaire['motDePasse']);
    //Retourne un tableau contenant les données du compte client si le nom d'utilisateur
    //correspond à un compte client dans la base de données.
    $tmp = $maBD->selectClient($tabFormulaire['nomUtilisateur']);
    //Vérifie le mot de passe entré contre le hash stocké en bd.
    $bonMdp = $hasher->CheckPassword($tabFormulaire['motDePasse'], $tmp['motDePasse']);
    //Si le mot de passe ne correspond pas, unset la variable.
    if (!$bonMdp) {
        unset($tmp);
    }
    //Si le tableau est set, c'est qu'il y a un compte retourné.
    if (isset($tmp)) {
コード例 #2
0
ファイル: inscription.php プロジェクト: Tri125/LogiKek
        //du formulaire.
        $messages[$champ] = $message;
        //La validation du formulaire à échoué.
        $valide = false;
        return false;
    }
    return true;
}
//Messages d'erreur affiché pour un champs vide qui est requis.
$msgRequis = "Champ requis";
//On arrive du bouton Valider, inscription à valider.
if (isset($_POST['valider'])) {
    $tabClient = array();
    //Récupère les champs du POST et désinfecte les données de l'utilisateur.
    foreach ($_POST as $cle => $valeur) {
        $tabClient[$cle] = desinfecte($valeur);
    }
    //Vérifie manuellement si le champs genre est set et non vide, car il n'est pas transmit dans le POST si l'utilisateur ne le choisit pas.
    //Les autres champs sont vérifiés dans un foreach
    if (empty($tabClient['sexe'])) {
        $messages['sexe'] = $msgRequis;
        //Le formulaire à échoué la validation.
        $valide = false;
    } else {
        //N'est pas F ou M
        validationChamp("/^[FM]\$/", $tabClient['sexe'], 'sexe', 'Option invalide');
    }
    //Nom et prénom: au moins 2 max 20 caractères parmi lettres, tiret, espace, apostrophe et point
    validationChamp("/^[a-zàáâéèêîíìôòóùúûç \\-\\'.]{2,20}\$/iu", $tabClient['nom'], 'nom', 'Entre 2 et 20 lettres');
    //Nom et prénom: au moins 2 max 20 caractères parmi lettres, tiret, espace, apostrophe et point
    validationChamp("/^[a-zàáâéèêîíìôòóùúûç \\-\\'.]{2,20}\$/iu", $tabClient['prenom'], 'prenom', 'Entre 2 et 20 lettres');
コード例 #3
0
<?php

//-----------------------------
// Script qui vérifie l'unicité en base de données d'un nom
// d'utilisateur passé par une variable GET
//
// Retourne 0 à un doublon, 1 si le nom est disponible,
// un message d'erreur dans le cas d'un erreur.
//-----------------------------
require_once realpath(__DIR__) . '/php/biblio/foncCommunes.php';
//S'il reçoit nomUtilisateur dans le GET
if (!empty($_GET['nomUtilisateur'])) {
    global $maBD;
    //Désinfecte l'entré de l'utilisateur.
    $nomUtilisateur = desinfecte($_GET['nomUtilisateur']);
    try {
        //Select en base de données sur le nom de l'utilisateur.
        $client = $maBD->selectClient($nomUtilisateur);
    } catch (Exception $e) {
        echo 'Erreur du test d\'unicité';
        exit;
    }
    //Si $client est set, il y a donc déjà une entré dans la base de données avec le nom d'utilisateur.
    if (isset($client)) {
        //False pour non-libre/non unique.
        echo 0;
    } else {
        //Libre/Unique
        echo 1;
    }
}
コード例 #4
0
ファイル: changerMotDePasse.php プロジェクト: Tri125/LogiKek
        $valide = false;
        return false;
    }
    return true;
}
//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;
コード例 #5
0
ファイル: gestionProduits.php プロジェクト: Tri125/LogiKek
    return $valide;
}
//Si on navigue à la page à partir du bouton valider du formulaire.
if (isset($_POST['valider'])) {
    $postData = array();
    //Récupère les champs du POST et désinfecte les données de l'utilisateur.
    foreach ($_POST as $cle => $valeur) {
        //Puisque categories est un tableau dans le POST, désinfecte les éléments individuellement.
        if ($cle == 'categories') {
            $tmp = array();
            foreach ($valeur as $codeCategorie) {
                $tmp[] = desinfecte($codeCategorie);
            }
            $postData[$cle] = $tmp;
        } else {
            $postData[$cle] = desinfecte($valeur);
        }
    }
    //Valide les données du POST. Passe en paramètre les caractéristiques du tableau en BD et les données du POST.
    $valide = valideForm($nomChamps, $postData);
    //Retire du POST le submit button et le MAX_FILE_SIZE du téléchargement de fichier.
    $produitData = array_splice($postData, 0, -2);
    if (isset($produitData['categories'])) {
        //Transforme notre array des catégories sélectionnées en une string d'on les catégories
        //sont séparé par une virgule.
        //Préparation pour former un objet Produit.
        $produitData['categories'] = implode(',', $produitData['categories']);
    } else {
        $produitData['categories'] = '';
    }
    //Si les champs du formulaire sont valides.