Lädt...

🔧 # Créer un Système de Connexion & Inscription Sécurisé avec PHP, MySQL et Bootstrap


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Salut à tous !

Aujourd'hui, je vous montre comment j'ai développé un système de connexion/inscription sécurisé en PHP avec Bootstrap pour le design, et MySQL pour la base de données.

Le projet utilise aussi quelques animations pour rendre l'expérience plus fluide ✨.

Technologies utilisées

  • PHP (backend)
  • MySQL (base de données)
  • Bootstrap 5 (frontend)
  • HTML5 & CSS3
  • Un peu de JavaScript pour améliorer l'UX

Arborescence du projet

/assets
    bootstrap.css
    bootstrap.js
    style1.css
    images/joyboy1.jpeg
    joyBoy_video.mp4
/includes
    config.php
/pages
    login.php
    signUp.php
    profile.php

1. Inscription (signUp.php)

Lors de l'inscription :

  • Validation du nom, email et mot de passe.
  • Vérification de la force du mot de passe.
  • Hashage du mot de passe avec password_hash().
  • Enregistrement dans la base de données si tout est valide.

Code pour l'inscription


php
// Validation mot de passe
function isValidPassword($password) {
    return strlen($password) >= 8 &&
           preg_match("/[A-Z]/", $password) &&
           preg_match("/[a-z]/", $password) &&
           preg_match("/[0-9]/", $password) &&
           preg_match("/[\W]/", $password);
}

 Inscription
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    // Sanitize inputs
    $fullName = htmlspecialchars(trim($_POST['fullname']));
    $email = htmlspecialchars(trim($_POST['email']));
    $password = htmlspecialchars(trim($_POST['password']));
    $confirm_password = htmlspecialchars(trim($_POST["confirm_password"]));

   Si tout est ok
    if ($password === $confirm_password) {
        $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
        $stmt = $pdo->prepare("INSERT INTO users (fullName, email, password) VALUES (?, ?, ?)");
        $stmt->execute([$fullName, $email, $hashedPassword]);
        $_SESSION["signup"] = "Your account has been created successfully.";
        header("Location: login.php");
        exit();
    }
}

### Aperçu de la page d'inscription


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vutmi0dkaclv84zr3qxz.png)



### 2. Connexion (login.php)

Lors de la connexion :
•Vérification de l'email et mot de passe.
•Si correct, stockage des informations de l'utilisateur en session.
•Redirection vers la page de profil.

### Code pour la connexion :

if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $email = htmlspecialchars(trim($_POST['email']));
    $password = htmlspecialchars(trim($_POST['password']));

    $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
    $stmt->execute([$email]);
    $user = $stmt->fetch();

    if ($user && password_verify($password, $user['password'])) {
        session_regenerate_id(true);
        $_SESSION['email'] = $user['email'];
        $_SESSION['fullname'] = $user['fullName'];
        header("Location: profile.php");
        exit();
    } else {
        $error = "Incorrect email or password.";
    }
}

### Aperçu de la page de connexion :


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j442h0hon7v40ltzqpvj.png)

### 3. Profil utilisateur (profile.php) :

•Accessible uniquement si l'utilisateur est connecté (vérification session).
•Affiche le nom complet de l'utilisateur.
•Superbe design en mode dark avec animation de fond dégradé.

Code pour profil

if (!isset($_SESSION['email'])) {
    $_SESSION['errorLog'] = "You must log in first.";
    header("Location: login.php");
    exit();
}

Aperçu de la page profil


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1v7rr2iy8y75ayd520hl.png)




Design visuel

•Thème couleurs : Rouge, Noir, Blanc.
•Bootstrap 5 + CSS custom pour les effets de survol et les transitions.
•Animations CSS : Slide in, Gradient moving background, Hover effects.
Exemple de code CSS

Résultat final

•Sécurisé (hash mot de passe + session sécurisée)
•Moderne (Bootstrap 5 et animations CSS)
•Fonctionnel (Inscription, Connexion, Profil, Déconnexion)
Le mot de la fin
Je suis très fier de ce projet, car il combine sécurité et design moderne !

N'hésitez pas à vous en inspirer pour vos propres projets web 🚀.
Si tu veux voir plus de contenus comme ça, n'hésite pas à ❤️ et commenter !

Tags
#php #mysql #webdev #bootstrap #programming
...

🔧 # Créer un Système de Connexion & Inscription Sécurisé avec PHP, MySQL et Bootstrap


📈 172.47 Punkte
🔧 Programmierung

🔧 Apprenez à créer une connexion sécurisée en PHP avec PDO et le hachage de mots de passe.


📈 74.42 Punkte
🔧 Programmierung

🔧 Création d'un système d'authentification sécurisé en utilisant: php , sql , js


📈 46.48 Punkte
🔧 Programmierung

🔧 Développement d’un Système d’Authentification Sécurisé


📈 43.32 Punkte
🔧 Programmierung

🔧 🛠️ Créer une API avec Node.js et Express – Guide simple pour débutants


📈 43.09 Punkte
🔧 Programmierung

🔧 Créer un GIF animé avec GIMP


📈 43.09 Punkte
🔧 Programmierung

🔧 Comment créer un bot de traduction vocale avec witai


📈 43.09 Punkte
🔧 Programmierung

🔧 Créer un cluster Kubernetes local avec Kind (Kubernetes IN Docker)


📈 43.09 Punkte
🔧 Programmierung

🔧 Créer une application en ligne de commande avec Rust


📈 43.09 Punkte
🔧 Programmierung

🔧 Qu'est-ce qu'un projet MERN Stack et comment créer une application CRUD avec? Partie 2/2, Tutoriel


📈 43.09 Punkte
🔧 Programmierung

🔧 Qu'est-ce qu'un projet MERN et comment créer une application CRUD avec? Partie 1/2


📈 43.09 Punkte
🔧 Programmierung

🔧 Guide Complet : Système d'Authentification avec PHP et MySQL


📈 37.34 Punkte
🔧 Programmierung

🕵️ Dokeos E-learning System 1.8.4 inscription.php message cross site scripting


📈 34.61 Punkte
🕵️ Sicherheitslücken

📰 Fahrbericht Volvo S90 D5 AWD Inscription


📈 31.46 Punkte
📰 IT Nachrichten

📰 Fahrbericht Volvo S90 D5 AWD Inscription


📈 31.46 Punkte
📰 IT Nachrichten

🕵️ Denis Moinel PHPGKit 0.9 connexion.php privilege escalation


📈 31.33 Punkte
🕵️ Sicherheitslücken

🕵️ Ban 0.1 connexion.php id sql injection


📈 31.33 Punkte
🕵️ Sicherheitslücken

🔧 Automatiser l'Envoi de Rapports Système au SysAdmin Chaque Minute avec Python & Cron


📈 29.03 Punkte
🔧 Programmierung

🔧 Connexion Agenda Externe dans Nemitis


📈 28.17 Punkte
🔧 Programmierung

🐧 How to get internet connexion through Ethernet from a laptop


📈 28.17 Punkte
🐧 Linux Tipps

🔧 Connexion à une Base de données PostgreSQL


📈 28.17 Punkte
🔧 Programmierung

🍏 Résoudre les problèmes de connexion Wi-Fi sur un Mac


📈 28.17 Punkte
🍏 iOS / Mac OS

⚠️ Vous êtes en télétravail ? Pas de connexion?


📈 28.17 Punkte
⚠️ Malware / Trojaner / Viren

⚠️ Connexion lente en télétravail ?


📈 28.17 Punkte
⚠️ Malware / Trojaner / Viren

🕵️ Low CVE-2020-25086: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25087: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25089: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25090: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25088: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25091: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25092: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

🕵️ Low CVE-2020-25093: Ecommerce-codeigniter-bootstrap project Ecommerce-codeigniter-bootstrap


📈 27.65 Punkte
🕵️ Sicherheitslücken

📰 Nmap Bootstrap XSL - A Nmap XSL Implementation With Bootstrap


📈 27.65 Punkte
📰 IT Security Nachrichten