} else { if (strpos($erreur[2], $nom_utilisateur) !== false) { $erreurs_inscription[] = "Ce nom d'utilisateur est déjà utilisé."; } else { $erreurs_inscription[] = "Erreur ajout SQL : doublon non identifié présent dans la base de données."; } } } else { $erreurs_form_modif_infos[] = sprintf("Erreur ajout SQL : cas non traité (SQLSTATE = %d).", $erreur[0]); } } } } else { if ($form_modif_mdp->is_valid($_POST)) { list($mdp_ancien, $mdp, $mdp_verif) = $form_modif_mdp->get_cleaned_data('mdp_ancien', 'mdp', 'mdp_verif'); $infos_utilisateur = lire_infos_utilisateur($_SESSION['id']); // TODO CORRECTIF // On vérifie si l'ancien mot de passe et les 2 nouveaux mots de passe correspondent if ($infos_utilisateur['mot_de_passe'] != sha1($mdp_ancien) || $mdp != $mdp_verif) { $erreurs_form_modif_mdp[] = "L'ancien mot de passe n'est pas bon ou les deux nouveaux mots de passes entrés sont différents !"; // C'est bon, on peut modifier la valeur dans la BDD } else { // On veut utiliser le modèle de l'inscription (~/modules/membres.php) // include CHEMIN_MODELE . 'membres.php'; maj_mot_de_passe_membre($_SESSION['id'], sha1($mdp)); $msg_confirm[] = "Votre mot de passe a été modifié avec succès !"; } } } // TODO CORRECTIF // Affichage des formulaires de modification du profil
<!-- William Tremblay & Nicholas-David Labarre Cours 420-306-LI TP3 --> <?php // Pas de vérification de droits d'accès nécessaire : tout le monde peut voir un profil utilisateur :) // Si le paramètre id est manquant ou invalide if (empty($_GET['id']) or !is_numeric($_GET['id'])) { include CHEMIN_VUE . 'erreur_parametre_profil.php'; } else { // On veut utiliser le modèle des membres (~/modules/membres.php) // Plus besoin on l'inclu dans le fichier init.php // include CHEMIN_MODELE . 'membres.php'; // lire_infos_utilisateur() est défini dans ~/modules/membres.php $infos_utilisateur = lire_infos_utilisateur($_GET['id']); // Si le profil existe et que le compte est validé if (false !== $infos_utilisateur && $infos_utilisateur['hash_validation'] == '') { $nom_utilisateur = $infos_utilisateur['nom_utilisateur']; $adresse_email = $infos_utilisateur['adresse_email']; $date_inscription = $infos_utilisateur['date_inscription']; include CHEMIN_VUE . 'profil_infos_utilisateur.php'; // Si l'utilisateur a écrit des messages, on les affiche if (MessageDAO::getMessagesMembre($_GET['id']) != null) { include CHEMIN_VUE . 'profil_messages_utilisateur.php'; MessageDAO::afficherMessagesMembre(MessageDAO::getMessagesMembre($_GET['id'])); } else { // Sinon, on affiche un message d'erreur indiquant que le membre n'a participé à // aucun forums, pour l'instant! include CHEMIN_VUE . 'aucun_messages_utilisateur.php'; }
// $value = stripslashes ($value); // } // array_walk_recursive ($_GET, 'remove_magic_quotes_gpc'); // array_walk_recursive ($_POST, 'remove_magic_quotes_gpc'); // array_walk_recursive ($_COOKIE, 'remove_magic_quotes_gpc'); // } // Vérifie si l'utilisateur est connecté function utilisateur_est_connecte() { return !empty($_SESSION['id']); } // Vérifications pour la connexion automatique // On a besoin du modèle des membres include_once CHEMIN_MODELE . 'membres.php'; // Le mec n'est pas connecté mais les cookies sont là, on y va ! if (!utilisateur_est_connecte() && !empty($_COOKIE['id']) && !empty($_COOKIE['connexion_auto'])) { $infos_utilisateur = lire_infos_utilisateur($_COOKIE['id']); if (false !== $infos_utilisateur) { $navigateur = !empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $hash = sha1('aaa' . $infos_utilisateur['nom_utilisateur'] . 'bbb' . $infos_utilisateur['mot_de_passe'] . 'ccc' . $navigateur . 'ddd'); if ($_COOKIE['connexion_auto'] == $hash) { // On enregistre les informations dans la session $_SESSION['id'] = $_COOKIE['id']; $_SESSION['pseudo'] = $infos_utilisateur['nom_utilisateur']; $_SESSION['email'] = $infos_utilisateur['adresse_email']; } } } // Ces lignes ont été remplacé par "spl_autoload_register" ci-haut // Inclusion de Pdo2, potentiellement utile partout // include CHEMIN_LIB . 'Pdo2.class.php';
$erreurs_connexion = array(); // Validation des champs suivant les règles if ($form_connexion->is_valid($_POST)) { list($nom_utilisateur, $mot_de_passe) = $form_connexion->get_cleaned_data('nom_utilisateur', 'mot_de_passe'); // On veut utiliser le modèle des membres (~/modeles/membres.php) // Déjà inclu dans init.php // include CHEMIN_MODELE . 'membres.php'; // TODO CORRECTIF // Incription du mot de passe $mot_de_passe = sha1($mot_de_passe); // combinaison_connexion_valide() est définit dans ~/modeles/membres.php $id_utilisateur = combinaison_connexion_valide($nom_utilisateur, $mot_de_passe); // TODO // Si les identifiants sont valides if (false !== $id_utilisateur) { $infos_utilisateur = lire_infos_utilisateur($id_utilisateur); // On enregistre les informations dans la session $_SESSION['id'] = $id_utilisateur; $_SESSION['pseudo'] = $nom_utilisateur; $_SESSION['email'] = $infos_utilisateur['adresse_email']; // Mise en place des cookies de connexion automatique // if (false != $form_connexion->get_cleaned_data ('connexion_auto')) // { // $navigateur = (!empty ($_SERVER ['HTTP_USER_AGENT'])) ? $_SERVER ['HTTP_USER_AGENT'] : ''; // $hash_cookie = sha1 ('aaa' . $nom_utilisateur . 'bbb' . $mot_de_passe . 'ccc' . $navigateur . 'ddd'); // setcookie ('id', $_SESSION ['id'], strtotime ("+1 year"), '/'); // setcookie ('connexion_auto', $hash_cookie, strtotime ("+1 year"), '/'); // } // Affichage de la confirmation de la connexion include CHEMIN_VUE . 'connexion_ok.php'; } else {