User Registration এবং Login System গাইড ও নোট

Database Tutorials - পিএইচপি মাইএসকিউএল আই (PHP MySQL) - User Authentication System তৈরি
241

একটি User Registration এবং Login System সাধারণত ওয়েব অ্যাপ্লিকেশন বা ওয়েবসাইটে ব্যবহৃত হয়, যেখানে ব্যবহারকারী তাদের একাউন্ট তৈরি করতে পারেন এবং পরবর্তীতে লগইন করে তাদের একাউন্টে প্রবেশ করতে পারেন। এখানে আমরা PHP এবং MySQL ব্যবহার করে একটি সাধারণ ইউজার রেজিস্ট্রেশন এবং লগইন সিস্টেম তৈরি করার প্রক্রিয়া দেখব।


1. ডেটাবেস টেবিল তৈরি করা

প্রথমে, আমাদের একটি users টেবিল তৈরি করতে হবে, যেখানে ব্যবহারকারীর তথ্য যেমন নাম, ইমেইল, পাসওয়ার্ড ইত্যাদি সংরক্ষণ করা হবে।

1.1 SQL কোড: users টেবিল তৈরি করা

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

এখানে id ফিল্ডটি ব্যবহারকারীকে এককভাবে চিহ্নিত করতে সহায়ক, username, email, এবং password ফিল্ডে ব্যবহারকারীর তথ্য সংরক্ষণ করা হবে।


2. User Registration ফর্ম তৈরি করা

এটি HTML ফর্ম হবে, যেখানে ব্যবহারকারী তাদের নাম, ইমেইল এবং পাসওয়ার্ড প্রদান করবে এবং পাসওয়ার্ডটি সুরক্ষিতভাবে ডেটাবেসে সংরক্ষণ করা হবে।

2.1 HTML Registration Form কোড

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>User Registration</title>
</head>
<body>
    <h2>User Registration</h2>
    <form action="register.php" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required><br><br>

        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required><br><br>

        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required><br><br>

        <button type="submit" name="submit">Register</button>
    </form>
</body>
</html>

এখানে ব্যবহারকারীকে তাদের username, email, এবং password প্রদান করতে বলা হবে।


3. User Registration PHP স্ক্রিপ্ট

এই স্ক্রিপ্টটি ব্যবহারকারীর ইনপুট গ্রহণ করবে, পাসওয়ার্ডটি সুরক্ষিতভাবে হ্যাশ করবে এবং তারপর ডেটাবেসে ব্যবহারকারীর তথ্য সংরক্ষণ করবে।

3.1 PHP Registration কোড: register.php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";

// MySQLi সংযোগ স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);

// সংযোগ চেক করা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ফর্ম সাবমিট হলে কোড চালানো
if (isset($_POST['submit'])) {
    $username = $_POST['username'];
    $email = $_POST['email'];
    $password = $_POST['password'];

    // পাসওয়ার্ড হ্যাশ করা
    $hashed_password = password_hash($password, PASSWORD_DEFAULT);

    // SQL কুয়েরি তৈরি করা
    $sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashed_password')";

    if ($conn->query($sql) === TRUE) {
        echo "User registered successfully!";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}

$conn->close();
?>

এখানে যা করা হয়েছে:

  1. পাসওয়ার্ড হ্যাশিং: password_hash() ফাংশন ব্যবহার করে পাসওয়ার্ডটি সুরক্ষিতভাবে হ্যাশ করা হচ্ছে, যাতে সেটি ডেটাবেসে সুরক্ষিত থাকে।
  2. ইনপুট গ্রহণ: ব্যবহারকারীর ইনপুটের মাধ্যমে নাম, ইমেইল এবং পাসওয়ার্ড গ্রহণ করা হচ্ছে এবং তা ডেটাবেসে সংরক্ষিত হচ্ছে।

4. User Login ফর্ম তৈরি করা

এখন আমরা একটি লগইন ফর্ম তৈরি করব, যেখানে ব্যবহারকারী তাদের username এবং password প্রদান করবে এবং তা যাচাই করা হবে।

4.1 HTML Login Form কোড

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>User Login</title>
</head>
<body>
    <h2>User Login</h2>
    <form action="login.php" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required><br><br>

        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required><br><br>

        <button type="submit" name="submit">Login</button>
    </form>
</body>
</html>

এখানে ব্যবহারকারী username এবং password প্রদান করবে।


5. User Login PHP স্ক্রিপ্ট

এটি ব্যবহারকারীর ইনপুট গ্রহণ করবে এবং ডেটাবেস থেকে সেই ব্যবহারকারীর তথ্য যাচাই করবে। যদি পাসওয়ার্ড সঠিক হয়, তবে ব্যবহারকারী সফলভাবে লগইন করতে পারবেন।

5.1 PHP Login কোড: login.php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";

// MySQLi সংযোগ স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);

// সংযোগ চেক করা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ফর্ম সাবমিট হলে কোড চালানো
if (isset($_POST['submit'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // SQL কুয়েরি তৈরি করা (ব্যবহারকারীকে অনুসন্ধান করা)
    $sql = "SELECT * FROM users WHERE username = '$username'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // ব্যবহারকারীর তথ্য পাওয়া গেছে
        $row = $result->fetch_assoc();
        $hashed_password = $row['password'];

        // পাসওয়ার্ড যাচাই করা
        if (password_verify($password, $hashed_password)) {
            echo "Login successful!";
        } else {
            echo "Invalid username or password!";
        }
    } else {
        echo "Invalid username or password!";
    }
}

$conn->close();
?>

এখানে যা করা হয়েছে:

  1. পাসওয়ার্ড যাচাই: password_verify() ফাংশন ব্যবহার করে ডেটাবেসে সংরক্ষিত হ্যাশড পাসওয়ার্ডের সাথে ব্যবহারকারীর দেওয়া পাসওয়ার্ডের সঠিকতা যাচাই করা হচ্ছে।
  2. ব্যবহারকারী যাচাই: যদি ডেটাবেসে ব্যবহারকারী পাওয়া যায়, তবে পাসওয়ার্ড যাচাই করা হয় এবং লগইন সফল হলে একটি মেসেজ প্রদর্শিত হয়।

6. অতিরিক্ত সুরক্ষা

  1. Prepared Statements: SQL ইনজেকশন থেকে রক্ষা পেতে Prepared Statements ব্যবহার করা উচিত।
  2. Session Management: লগইন করার পর, ব্যবহারকারীকে একটি সেশন সেট করে তার তথ্য সংরক্ষণ করা উচিত যাতে পরবর্তীতে তিনি লগ আউট না করা পর্যন্ত সিস্টেমে অ্যাক্সেস থাকতে পারে।
  3. SSL/HTTPS: সুরক্ষিত যোগাযোগের জন্য SSL/HTTPS ব্যবহার করা উচিত যাতে পাসওয়ার্ড এবং অন্যান্য সংবেদনশীল তথ্য এনক্রিপ্ট থাকে।

উপসংহার

এটি একটি সহজ এবং কার্যকরী User Registration এবং Login System তৈরি করার প্রক্রিয়া ছিল, যা PHP এবং MySQL ব্যবহার করে তৈরি করা হয়েছে। এখানে পাসওয়ার্ড সুরক্ষিতভাবে সংরক্ষণ করা হয়েছে, এবং ব্যবহারকারীর লগইন প্রক্রিয়ায় সঠিক পাসওয়ার্ড যাচাই করা হয়েছে। এর মাধ্যমে একটি মৌলিক ইউজার অথেনটিকেশন সিস্টেম তৈরি করা সম্ভব।

Content added By
/* Start Bottom Fixed Ad */ /* End Bottom Fixed Ad */
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...