<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Zouhair Eddoubaji</title>
    <description>The latest articles on DEV Community by Zouhair Eddoubaji (@zouhair_55).</description>
    <link>https://dev.to/zouhair_55</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1493903%2Fe5c1a507-823d-43b1-9a35-55d8e53519ea.png</url>
      <title>DEV Community: Zouhair Eddoubaji</title>
      <link>https://dev.to/zouhair_55</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zouhair_55"/>
    <language>en</language>
    <item>
      <title>Creating a Login and Registration Form using PHP PDO Tutorial</title>
      <dc:creator>Zouhair Eddoubaji</dc:creator>
      <pubDate>Wed, 15 May 2024 12:57:50 +0000</pubDate>
      <link>https://dev.to/zouhair_55/creating-a-login-and-registration-form-using-php-pdo-tutorial-3cbk</link>
      <guid>https://dev.to/zouhair_55/creating-a-login-and-registration-form-using-php-pdo-tutorial-3cbk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Dans ce tutoriel&lt;/strong&gt;, nous allons créer une connexion et un enregistrement PDO en utilisant PHP. PHP est un langage de script côté serveur conçu principalement pour le développement Web. PDO signifie PHP Data Objects. Il s’agit d’un moyen simple et cohérent d’accéder aux bases de données. Cela signifie que les développeurs peuvent écrire du code portable beaucoup plus facilement. Il est principalement utilisé par les nouveaux codeurs pour son environnement convivial.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvgbs5beog4mrkuf07ze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvgbs5beog4mrkuf07ze.png" alt="Image description" width="800" height="602"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qp1lczrgx4p375axeze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qp1lczrgx4p375axeze.png" alt="Image description" width="800" height="614"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;si vous voulez le code source(HTML/CSS) de 2 formulaires&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//login form
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
    &amp;lt;link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'&amp;gt;

    &amp;lt;style&amp;gt;
        @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&amp;amp;display=swap");
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}
body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: url(image4.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.wrapper{
    width: 420px;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(20px);
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    color: white;
    border-radius: 10px;
    padding: 30px 40px;
}
.wrapper h1{
    font-size: 36px;
    text-align: center;
}
.wrapper .input-box{
    position: relative;
    width: 100%;
    height: 50px;

    margin: 30px 0;
}

.input-box input{
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    border: 2px solid rgba(255, 255, 255, .2);
    border-radius: 40px;
    font-size: 16px;
    color: white;
    padding: 20px 45px 20px 20px;
}
.input-box input::placeholder{
    color: white;
}
.input-box i{
    position:absolute ;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
}
.wrapper .btn{
    width: 100%;
    height: 45px;
    background: white;
    border: none;
    outline: none;
    border-radius: 40px;
    box-shadow: 0 0 10px rgba(0, 0, 0, -1);
    cursor: pointer;
    font-size: 16px;
    color:#333 ;
    font-weight: 600;
}

.wrapper .register-link{
    font-size: 14.5px;
    text-align: center;
    margin: 20px 0 15px;
}
.register-link p a {
    color: white;
    text-decoration: none;
    font-weight: 600;
}
.register-link p a:hover{
    text-decoration: underline;
}
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;?php if(isset($_SESSION['message'])): ?&amp;gt;
                &amp;lt;div class="alert alert-&amp;lt;?php echo $_SESSION['message']['alert'] ?&amp;gt; msg"&amp;gt;&amp;lt;?php echo $_SESSION['message']['text'] ?&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;form action="login_query.php" method="post"&amp;gt;
            &amp;lt;h1&amp;gt;Login&amp;lt;/h1&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;input type="text" placeholder="username" name="username" required&amp;gt;
                &amp;lt;i class='bx bxs-user'&amp;gt;&amp;lt;/i&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;input type="password" placeholder="password" name="password" required&amp;gt;  
                &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;  
            &amp;lt;/div&amp;gt;
            &amp;lt;button type="submit" class="btn" name="login"&amp;gt;Login&amp;lt;/button&amp;gt;
            &amp;lt;div class="register-link"&amp;gt;
                &amp;lt;p&amp;gt;Don't have an account? &amp;lt;a href="registration.php"&amp;gt;Register&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
//Registration form

&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="index2.css"&amp;gt;
    &amp;lt;link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'&amp;gt;
    &amp;lt;style&amp;gt;
      @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&amp;amp;display=swap");
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins",sans-serif;
}
body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #49b3f01a;
    background: url(image4.jpg) no-repeat;
    background-size: cover;
    background-position: center;

}


.wrapper{
    width: 750px;
    background: rgba(255, 255, 255, .1);
    border: 2px solid rgba(255, 255, 255, .2);
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    backdrop-filter: blur(50px);
    border-radius: 10px;
    color: white;
    padding: 40px 35px 55px;
    margin: 0 10px;
}
.wrapper h1{
    font-size: 36px;
    text-align: center;
    margin-bottom: 20px;
}
.wrapper .input-box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}
.input-box .input-field{
    position: relative;
    width: 48%;
    height: 50px;
    margin: 13px 0;
}

.input-box .input-field input{
    width: 100%;
    height: 100%;
    background: transparent;
    border: 2px solid #fffcfc;
    outline: none;
    font-size: 16px;
    color: white;
    border-radius: 40px;
    padding: 15px 15px 15px 40px;

}
.input-box .input-field input::placeholder{
    color: white;
}
.input-box .input-field i{
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-size: 20px;
}

.wrapper label{
    display: inline-block;
    font-size: 14.5px;
    margin: 10px 0 23px;
}

.wrapper label input{
    accent-color: white;
    margin-right: 5px;
}
.wrapper .btn{
    width: 100%;
    height: 45px;
    background: white;
    border: none;
    outline: none;
    border-radius: 40px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    cursor: pointer;
    font-size: 16px;
    color: #333;
    font-weight: 600;
}
.bottom{
  text-align:center;
  margin-top:9px
}
.bottom a{
  font-weight:700;
  color:white;
  text-decoration:none;
  margin-left:5px;
}
.bottom a:hover{
  text-decoration:underline;
}
@media (max-width: 576px) {
    .input-box .input-field{
        width: 100%;
        margin: 10px 0;
    }

}
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="wrapper"&amp;gt;
        &amp;lt;form action="register_query.php" method="POST"&amp;gt;
            &amp;lt;h1&amp;gt;Registration&amp;lt;/h1&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="firstname" name="firstname" required&amp;gt;
                    &amp;lt;i class='bx bx-id-card'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="lastname"  name="lastname" required&amp;gt;
                    &amp;lt;i class='bx bx-id-card'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="username" required name="username"&amp;gt;
                    &amp;lt;i class='bx bxs-user'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="password" placeholder="password" name="password" required&amp;gt;
                    &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="password" placeholder=" confirm password" name="confirmPassword" required&amp;gt;
                    &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;button type="submit" class="btn" name="register"&amp;gt;Register&amp;lt;/button&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;div class="bottom"&amp;gt;
                &amp;lt;span&amp;gt;You Have an account!&amp;lt;/span&amp;gt;&amp;lt;a href="index.php" class="btn-l"&amp;gt;Login&amp;lt;/a&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Avant de commencer :&lt;/strong&gt;&lt;br&gt;
Vous devez d’abord télécharger et installer XAMPP ou tout serveur local exécutant des scripts PHP. Voici le lien vers le serveur XAMPP &lt;a href="https://www.apachefriends.org/index.html"&gt;https://www.apachefriends.org/index.html&lt;/a&gt;. Ensuite, ouvrez le panneau de configuration de XAMPP et démarrez Apache et MySQL. J'ai également utilisé Bootstrap pour ce tutoriel, allez sur &lt;a href="https://getbootstrap.com/"&gt;https://getbootstrap.com/&lt;/a&gt; pour télécharger.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Création d'une base de données *&lt;/em&gt;&lt;br&gt;
Ouvrez votre serveur Web de base de données [c.-à-d. &lt;a href="http://localhost/phpmyadmin"&gt;http://localhost/phpmyadmin&lt;/a&gt;] puis créez-y un nom de base de données db_login.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flec9zj5qbhhzl80kl8am.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flec9zj5qbhhzl80kl8am.png" alt="Image description" width="800" height="453"&gt;&lt;/a&gt;&lt;br&gt;
*&lt;strong&gt;&lt;em&gt;Création de la connexion à la base de données et des tables avec PHP *&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Ouvrez votre n'importe quel type d'éditeur de texte (VSCode, etc.). Ensuite, copiez/collez simplement le code ci-dessous puis enregistrez-le sous conn.php&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

$dsn = "mysql:host=localhost;";
$name = "root";
$pswd = "";

try {
    $pdo = new PDO($dsn, $name, $pswd);                                
    $pdo-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $pdo-&amp;gt;prepare("CREATE DATABASE IF NOT EXISTS db_login");
    $stmt-&amp;gt;execute();
    $stmt = $pdo-&amp;gt;prepare("USE db_login");
    $stmt-&amp;gt;execute();
    $stmt = $pdo-&amp;gt;prepare("CREATE TABLE IF NOT EXISTS  member (
        mem_id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
        firstname varchar(50) NOT NULL,
        lastname varchar(50) NOT NULL,
        username varchar(30) NOT NULL,
        password varchar(12) NOT NULL
    )") ; 
    $stmt-&amp;gt;execute();
}

catch (PDOException $e) {
    echo "Connection failed: " . $e-&amp;gt;getMessage();
}

?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;index.php&lt;/strong&gt;&lt;br&gt;
Cette page est la page par défaut lors de la navigation dans l'application. Cela montre le formulaire de connexion.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php session_start(); ?&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
    &amp;lt;link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'&amp;gt;

    &amp;lt;style&amp;gt;
        @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&amp;amp;display=swap");
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}
body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: url(image4.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.wrapper{
    width: 420px;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(20px);
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    color: white;
    border-radius: 10px;
    padding: 30px 40px;
}
.wrapper h1{
    font-size: 36px;
    text-align: center;
}
.wrapper .input-box{
    position: relative;
    width: 100%;
    height: 50px;

    margin: 30px 0;
}

.input-box input{
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    border: 2px solid rgba(255, 255, 255, .2);
    border-radius: 40px;
    font-size: 16px;
    color: white;
    padding: 20px 45px 20px 20px;
}
.input-box input::placeholder{
    color: white;
}
.input-box i{
    position:absolute ;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
}
.wrapper .btn{
    width: 100%;
    height: 45px;
    background: white;
    border: none;
    outline: none;
    border-radius: 40px;
    box-shadow: 0 0 10px rgba(0, 0, 0, -1);
    cursor: pointer;
    font-size: 16px;
    color:#333 ;
    font-weight: 600;
}

.wrapper .register-link{
    font-size: 14.5px;
    text-align: center;
    margin: 20px 0 15px;
}
.register-link p a {
    color: white;
    text-decoration: none;
    font-weight: 600;
}
.register-link p a:hover{
    text-decoration: underline;
}
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="wrapper"&amp;gt;
    &amp;lt;?php if(isset($_SESSION['message'])): ?&amp;gt;
                &amp;lt;div class="alert alert-&amp;lt;?php echo $_SESSION['message']['alert'] ?&amp;gt; msg"&amp;gt;&amp;lt;?php echo $_SESSION['message']['text'] ?&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;script&amp;gt;
                (function() {
                    // removing the message 3 seconds after the page load
                    setTimeout(function(){
                        document.querySelector('.msg').remove();
                    },3000)
                })();
            &amp;lt;/script&amp;gt;
            &amp;lt;?php 
                endif;
                // clearing the message
                unset($_SESSION['message']);
            ?&amp;gt;
        &amp;lt;form action="login_query.php" method="post"&amp;gt;
            &amp;lt;h1&amp;gt;Login&amp;lt;/h1&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;input type="text" placeholder="username" name="username" required&amp;gt;
                &amp;lt;i class='bx bxs-user'&amp;gt;&amp;lt;/i&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;!-- &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;input type="email" placeholder="email" required&amp;gt;
                &amp;lt;i class='bx bxs-envelope'&amp;gt;&amp;lt;/i&amp;gt;
            &amp;lt;/div&amp;gt; --&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;input type="password" placeholder="password" name="password" required&amp;gt;  
                &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;  
            &amp;lt;/div&amp;gt;
            &amp;lt;button type="submit" class="btn" name="login"&amp;gt;Login&amp;lt;/button&amp;gt;
            &amp;lt;div class="register-link"&amp;gt;
                &amp;lt;p&amp;gt;Don't have an account? &amp;lt;a href="registration.php"&amp;gt;Register&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;registration.php&lt;/strong&gt;&lt;br&gt;
This page shows the registration form.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="index2.css"&amp;gt;
    &amp;lt;link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'&amp;gt;
    &amp;lt;style&amp;gt;
      @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&amp;amp;display=swap");
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins",sans-serif;
}
body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #49b3f01a;
    background: url(image4.jpg) no-repeat;
    background-size: cover;
    background-position: center;

}


.wrapper{
    width: 750px;
    background: rgba(255, 255, 255, .1);
    border: 2px solid rgba(255, 255, 255, .2);
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    backdrop-filter: blur(50px);
    border-radius: 10px;
    color: white;
    padding: 40px 35px 55px;
    margin: 0 10px;
}
.wrapper h1{
    font-size: 36px;
    text-align: center;
    margin-bottom: 20px;
}
.wrapper .input-box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}
.input-box .input-field{
    position: relative;
    width: 48%;
    height: 50px;
    margin: 13px 0;
}

.input-box .input-field input{
    width: 100%;
    height: 100%;
    background: transparent;
    border: 2px solid #fffcfc;
    outline: none;
    font-size: 16px;
    color: white;
    border-radius: 40px;
    padding: 15px 15px 15px 40px;

}
.input-box .input-field input::placeholder{
    color: white;
}
.input-box .input-field i{
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-size: 20px;
}

.wrapper label{
    display: inline-block;
    font-size: 14.5px;
    margin: 10px 0 23px;
}

.wrapper label input{
    accent-color: white;
    margin-right: 5px;
}
.wrapper .btn{
    width: 100%;
    height: 45px;
    background: white;
    border: none;
    outline: none;
    border-radius: 40px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    cursor: pointer;
    font-size: 16px;
    color: #333;
    font-weight: 600;
}
.bottom{
  text-align:center;
  margin-top:9px
}
.bottom a{
  font-weight:700;
  color:white;
  text-decoration:none;
  margin-left:5px;
}
.bottom a:hover{
  text-decoration:underline;
}
@media (max-width: 576px) {
    .input-box .input-field{
        width: 100%;
        margin: 10px 0;
    }

}
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="wrapper"&amp;gt;
        &amp;lt;form action="register_query.php" method="POST"&amp;gt;
            &amp;lt;h1&amp;gt;Registration&amp;lt;/h1&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="firstname" name="firstname" required&amp;gt;
                    &amp;lt;i class='bx bx-id-card'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="lastname"  name="lastname" required&amp;gt;
                    &amp;lt;i class='bx bx-id-card'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="input-box"&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="text" placeholder="username" required name="username"&amp;gt;
                    &amp;lt;i class='bx bxs-user'&amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="password" placeholder="password" name="password" required&amp;gt;
                    &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="input-field"&amp;gt;
                    &amp;lt;input type="password" placeholder=" confirm password" name="confirmPassword" required&amp;gt;
                    &amp;lt;i class='bx bxs-lock-alt' &amp;gt;&amp;lt;/i&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;button type="submit" class="btn" name="register"&amp;gt;Register&amp;lt;/button&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;div class="bottom"&amp;gt;
                &amp;lt;span&amp;gt;You Have an account!&amp;lt;/span&amp;gt;&amp;lt;a href="index.php" class="btn-l"&amp;gt;Login&amp;lt;/a&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;home.php&lt;/strong&gt;&lt;br&gt;
Ce sera la page où l'utilisateur sera redirigé après s'être connecté.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Création de la fonction principale&lt;/strong&gt;&lt;br&gt;
Ce code contient le script spécifique au traitement des requêtes dans la base de données. Ce code est composé de différentes fonctionnalités, telles que la déconnexion, la connexion et l'enregistrement. Pour ce faire, écrivez ces blocs de codes dans l'éditeur de texte et enregistrez-les en conséquence, comme indiqué ci-dessous.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;register_query.php&lt;/strong&gt;&lt;br&gt;
C'est là que le code enregistre toutes les données entrées dans le serveur de base de données. PDO crée une requête, puis il rassemblera toutes les données collectées et les stockera ensuite.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php


session_start();
require_once 'conn.php';
if(isset($_POST['register'])){
    // Input validation
    $firstname = trim($_POST['firstname']);
    $lastname = trim($_POST['lastname']);
    $username = trim($_POST['username']);
    $password = $_POST['password'];
    $confirmPassword = $_POST['confirmPassword'];
    if(empty($firstname) || empty($lastname) || empty($username) || empty($password) || empty($confirmPassword)){
        echo "&amp;lt;script&amp;gt;alert('Please fill up all the required fields!')&amp;lt;/script&amp;gt;";
        echo "&amp;lt;script&amp;gt;window.location = 'registration.php'&amp;lt;/script&amp;gt;";
        exit;
    }
    // Password confirmation
    if($password !== $confirmPassword){
        echo "&amp;lt;script&amp;gt;alert('Passwords do not match!')&amp;lt;/script&amp;gt;";
        echo "&amp;lt;script&amp;gt;window.location = 'registration.php'&amp;lt;/script&amp;gt;";
        exit;
    }
    // Secure password handling
    $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
    // Prepared statement to prevent SQL injection
    try{
        $pdo-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO `member` (firstname, lastname, username, password) VALUES (:firstname, :lastname, :username, :password)";
        $stmt = $pdo-&amp;gt;prepare($sql);
        $stmt-&amp;gt;bindParam(':firstname', $firstname);
        $stmt-&amp;gt;bindParam(':lastname', $lastname);
        $stmt-&amp;gt;bindParam(':username', $username);
        $stmt-&amp;gt;bindParam(':password', $hashedPassword);
        $stmt-&amp;gt;execute();
        $_SESSION['message'] = array("text" =&amp;gt; "User successfully created.", "alert" =&amp;gt; "info");
        header('location:index.php');
        exit;
    }catch(PDOException $e){
        echo "&amp;lt;script&amp;gt;alert('An error occurred while creating the user. Please try again later.')&amp;lt;/script&amp;gt;";
        echo "&amp;lt;script&amp;gt;window.location = 'registration.php'&amp;lt;/script&amp;gt;";
        exit;
    }
}


?&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;login_query.php&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;C'est là que le code peut connecter l'utilisateur. PDO envoie une requête au serveur de base de données puis reçoit une confirmation si le compte utilisateur est valide pour accéder aux données.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
    session_start();
    require_once 'conn.php';

    if(ISSET($_POST['login'])){
        if($_POST['username'] != "" || $_POST['password'] != ""){
          $username = $_POST['username'];
          $password = $_POST['password'];
          $sql = "SELECT * FROM `member` WHERE `username`=? AND `password`=? ";
          $query = $pdo-&amp;gt;prepare($sql);
          $query-&amp;gt;execute(array($username,$password));
          $row = $query-&amp;gt;rowCount();
          $fetch = $query-&amp;gt;fetch();
          if($row &amp;gt; 0) {
            $_SESSION['user'] = $fetch['mem_id'];
            header("location: home.php");
          } else{
            echo "
            &amp;lt;script&amp;gt;alert('Invalid username or password')&amp;lt;/script&amp;gt;
            &amp;lt;script&amp;gt;window.location = 'index.php'&amp;lt;/script&amp;gt;
            ";
          }
        }else{
            echo "
                &amp;lt;script&amp;gt;alert('Please complete the required field!')&amp;lt;/script&amp;gt;
                &amp;lt;script&amp;gt;window.location = 'index.php'&amp;lt;/script&amp;gt;
            ";
        }
    }
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;logout.php&lt;/strong&gt;&lt;br&gt;
C'est là que le code peut se déconnecter du compte utilisateur. L'utilisateur sera obligé de se déconnecter lorsque le bouton de déconnexion sera cliqué.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;?php
    session_start();
    session_destroy();
    header('location: index.php');
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
