예제 #1
0
function connexion($host, $user, $password, $dbname)
{
    // S'il y a un problème de connexion on retourne à la page de connexion avec affichage de l'erreur
    // On vérifie si les champs de login et mot-de-passe sont remplis (sans se connecter à la base de données)
    if (login_mdp_remplis($_POST["login"], $_POST["mdp"])) {
        //echo $_POST["login"]." ". $_POST["mdp"] ;
        // On se connecte à la base pour vérifier le login ou mot-de-pase
        connexion_bd($id, $host, $user, $password, $dbname);
        // Si la connexion a réussie (nb : en fait si la connexion ne réussi pas, la fonction connexion_bd tue le programme. On laisse quand même cette condition au cas où l'on modifie la connexion_bd pour juste afficher un message d'erreur.
        if (isset($id)) {
            // On traite le mot de passe pour éviter qu'une personne malveillante se connecte sans mot de passe
            $_POST["mdp"] = mysql_real_escape_string($_POST["mdp"]);
            // On vérifie le login et le mot de passe :
            // dans la table Personne, le nom de la colonne du login de la table, le nom de la colonne du mot-de-passe de la table, le login a vérifier, le mot de passe a vérifier, l'id de la connexion avec la base
            if (!login_mdp_ok("utilisateur", "Adresse_mail", "MDP", $_POST["login"], $_POST["mdp"], $id)) {
                header("Location:connexion.php");
            } else {
                // La connexion s'est bien déroulée, on retourne à la page d'accueil avec l'utilisateur authentifié et on garde ses information dans la session en cours
                charger_session($_POST);
                // Et si l'utilisateur souhaite qu'on se souvienne de la session, même s'il éteint son PC, on l'enregitre via un cookie
                if (isset($_POST["rester_co"])) {
                    setcookie("login", $_POST["login"]);
                    setcookie("mdp", $_POST["mdp"]);
                }
                print_r($_COOKIE);
                header("Location:index.php");
            }
            // On ferme la connexion de la base, car on a plus de besoin de vérifier le login ou mot-de-pase
            mysqli_close($id);
        }
    } else {
        header("Location:connexion.php");
    }
}
		
	</head>
	
	<body>
		
		<?php 
// S'il y a déjà eu des erreurs lors de l'inscription, les supprimer car on fait une nouvelle tentative d'inscription. Si l'inscription se déroule bien, il n'y aura plus d'erreurs.
if (isset($_SESSION["erreur_inscription"])) {
    unset($_SESSION["erreur_inscription"]);
}
//print_r($_POST) ;
// On vérifie si les données rentrées par l'utilisateur, sont correctes
if (inscription_ok($_POST)) {
    // On ajoute l'utilisateur à la base de données (là on pas besoin de mettre le nom de la table, contrairement aux fonctions login_existe, mdp_existe... )
    // On se connecte à la base
    connexion_bd($id, $host, $user, $password, $dbname);
    // Si la connexion a réussie
    if (isset($id)) {
        // On ajoute l'utilisateur
        inscrit_utilisateur($id, $_POST);
        // On revient ensuite à la page d'accueil
        header("Location:index.php");
    }
}
?>
		
		<a href = "connexion.php"> Retour à la page de connexion </a>
	
	</body>

</html>