DEV Community

Cover image for PROJET PHP
RN Badir
RN Badir

Posted on

PROJET PHP

Notre projet PHP vise à fournir une solution complète pour la gestion des utilisateurs, en offrant des fonctionnalités robustes pour la connexion, la création de comptes et la déconnexion. En utilisant des techniques de cryptage sécurisé des mots de passe, des sessions PHP et des cookies, nous garantissons la sécurité et la confidentialité des informations des ​utilisateurs

  1. BASE DE DONNEES :

Image description

CODE DE CONNEXION AU BASE DE DONNEES:

<?php
$host = 'localhost';
$username = 'root'; 
$password = ""; 
$dbname = "compte2"; 

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "Erreur de connexion à la base de données: " . $e->getMessage();
}
?>
Enter fullscreen mode Exit fullscreen mode
  1. PARTIE LOGIN:

Image description

CODE:

<?php
$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$basededonnees = "compte2";
try {
    $connexion = new PDO("mysql:host=$serveur;dbname=$basededonnees", $utilisateur, $motdepasse );
    $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
        $nom_utilisateur = $_POST["nom"];
        $email = $_POST["email"]; 
        $mot_de_passe = $_POST["password"];

        $requete = $connexion->prepare("SELECT * FROM utilisateur2 WHERE nom = :nom AND email = :email AND password = :password");
        $requete->bindParam(':nom', $nom_utilisateur);
        $requete->bindParam(':email', $email); 
        $requete->bindParam(':password', $mot_de_passe);
        $requete->execute();

        if ($requete->rowCount() == 1) {
            $newWebsite = "http://localhost/PROJET2/deconnexion.php"; 
            header("Location: $newWebsite");
            exit; 
        } else {
            echo "Nom d'utilisateur ou Email ou mot de passe incorrect.";
        }
    }
} catch(PDOException $e) {
    echo "La connexion à la base de données a échoué : " . $e->getMessage();
}
?>
Enter fullscreen mode Exit fullscreen mode
  1. PARTIE SIGN IN:

Image description

CODE DE VALIDATION:

<?php
session_start();
require_once 'connexion2.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {   
    $nom = trim($_POST['nom2']);
    $email = trim($_POST['email2']);
    $password = trim($_POST['password2']);
    $confirmPassword = $_POST['confirmPassword'];
    if(empty($nom) || empty($email) || empty($password) || empty($confirmPassword)){
        echo "<script>alert('Please fill up all the required fields!')</script>";
        header('location:login.php');
        exit;
    }
    if($password !== $confirmPassword){
        echo "<script>alert('Passwords do not match!')</script>";
        exit;
    }


    try{

        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO utilisateur2 (nom, email, password) VALUES (:nom, :email, :password)";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':nom', $nom);
        $stmt->bindParam(':email', $email);
        $stmt->bindParam(':password', $password);
        $stmt->execute();
        $_SESSION['message'] = array("text" => "User successfully created.", "alert" => "info");  

        // header('location:login.php');
        exit;
    }

    catch(PDOException $e){
        echo "<script>alert('An error occurred while creating the user. Please try again later.')</script>";
        exit;

    }

}

?>
Enter fullscreen mode Exit fullscreen mode
  1. PARTIE LOGOUT:

Image description

CODE:

<?php
$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$basededonnees = "compte2";
try {
    $connexion = new PDO("mysql:host=$serveur;dbname=$basededonnees", $utilisateur, $motdepasse );
    $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
        $nom_utilisateur = $_POST["nom"];
        $email = $_POST["email"]; 
        $mot_de_passe = $_POST["password"];

        $requete = $connexion->prepare("SELECT * FROM utilisateur2 WHERE nom = :nom AND email = :email AND password = :password");
        $requete->bindParam(':nom', $nom_utilisateur);
        $requete->bindParam(':email', $email); 
        $requete->bindParam(':password', $mot_de_passe);
        $requete->execute();

        if ($requete->rowCount() == 1) {
            $newWebsite = "http://localhost/PROJET2/deconnexion.php"; 
            header("Location: $newWebsite");
            exit; 
        } else {
            echo "Nom d'utilisateur ou Email ou mot de passe incorrect.";
        }
    }
} catch(PDOException $e) {
    echo "La connexion à la base de données a échoué : " . $e->getMessage();
}?>
Enter fullscreen mode Exit fullscreen mode

Top comments (0)