Database Tutorials HTML Form এবং PHP দিয়ে Data গ্রহণ করা গাইড ও নোট

363

পিএইচপি মাইএসকিউএল আই (PHP MySQL): HTML Form এবং PHP দিয়ে Data গ্রহণ করা

PHP এবং MySQL ব্যবহার করে HTML ফর্ম থেকে ডেটা গ্রহণ এবং ডেটাবেসে সংরক্ষণ করার প্রক্রিয়া খুবই সাধারণ এবং শক্তিশালী। এই প্রক্রিয়ায় প্রথমে HTML ফর্ম তৈরি করতে হয়, যা ব্যবহারকারীদের কাছ থেকে ইনপুট নেবে। এরপর, PHP স্ক্রিপ্টের মাধ্যমে সেই ইনপুট ডেটা প্রক্রিয়া করে MySQL ডেটাবেসে ইনসার্ট করা হবে।


1. HTML Form তৈরি করা

প্রথমে একটি HTML ফর্ম তৈরি করতে হবে যেখানে ব্যবহারকারীরা তাদের ডেটা ইনপুট করবে। উদাহরণস্বরূপ, একটি সিম্পল ফর্ম যেখানে ব্যবহারকারীরা তাদের নাম এবং ইমেইল ঠিকানা প্রদান করবে:

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

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

        <input type="submit" value="Submit">
    </form>
</body>
</html>

এখানে, action="process.php" দিয়ে ফর্ম ডেটা process.php স্ক্রিপ্টে প্রেরণ করা হবে এবং method="post" এর মাধ্যমে পোষ্ট মেথড ব্যবহার করে ডেটা প্রেরণ করা হবে।


2. PHP স্ক্রিপ্ট তৈরি করা (Data গ্রহণ এবং MySQL এ সংরক্ষণ)

এখন, process.php স্ক্রিপ্ট তৈরি করে HTML ফর্মের ডেটা গ্রহণ এবং MySQL ডেটাবেসে ইনসার্ট করা হবে। নিচে একটি উদাহরণ দেওয়া হলো:

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

// ফর্ম ডেটা গ্রহণ করা
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    $email = $_POST['email'];

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

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

    // SQL ইনসার্ট কুয়েরি তৈরি
    $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

    // কুয়েরি এক্সিকিউট করা এবং ফলাফল চেক করা
    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    // সংযোগ বন্ধ করা
    $conn->close();
}
?>

এখানে, $_POST এর মাধ্যমে ফর্মের ইনপুট ডেটা PHP স্ক্রিপ্টে আনা হয়েছে। তারপর, MySQLi ব্যবহার করে ডেটাবেসে সংযোগ স্থাপন করা হয়েছে এবং INSERT INTO SQL কুয়েরি দিয়ে ডেটা ডেটাবেসে ইনসার্ট করা হয়েছে।

গুরুত্বপূর্ণ বিষয়:

  1. SQL ইনজেকশন প্রতিরোধ: উপরের কোডে সরাসরি ইউজারের ইনপুট ডেটা SQL কুয়েরিতে ব্যবহার করা হয়েছে, যা SQL ইনজেকশন আক্রমণের ঝুঁকি সৃষ্টি করতে পারে। নিরাপদ পদ্ধতি হলো Prepared Statements ব্যবহার করা। পরবর্তী উদাহরণে এই নিরাপদ পদ্ধতিটি দেখানো হবে।

3. Prepared Statements দিয়ে Data Insert করা

Prepared Statements ব্যবহার করলে SQL ইনজেকশন থেকে সুরক্ষা পাওয়া যায়। নিচে prepared statements ব্যবহার করে ডেটা ইনসার্ট করার উদাহরণ দেওয়া হলো:

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

// ফর্ম ডেটা গ্রহণ করা
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    $email = $_POST['email'];

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

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

    // প্রস্তুত কুয়েরি তৈরি
    $stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
    $stmt->bind_param("ss", $name, $email);  // 'ss' মানে দুটি স্ট্রিং (string)

    // কুয়েরি এক্সিকিউট করা
    if ($stmt->execute()) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $stmt->error;
    }

    // প্রস্তুত বিবৃতি এবং সংযোগ বন্ধ করা
    $stmt->close();
    $conn->close();
}
?>

এখানে, prepare() মেথড ব্যবহার করে SQL কুয়েরি প্রস্তুত করা হয়েছে এবং bind_param() দিয়ে ব্যবহারকারীর ইনপুট ভ্যালু বাইন্ড করা হয়েছে। এটি SQL ইনজেকশন থেকে সুরক্ষা প্রদান করে।


উপসংহার

এই উদাহরণে দেখানো হলো কীভাবে HTML ফর্ম থেকে ডেটা গ্রহণ করা যায় এবং সেই ডেটা PHP এবং MySQL ব্যবহার করে ডেটাবেসে ইনসার্ট করা যায়। Prepared Statements ব্যবহার করে আপনি ডেটাবেসে ডেটা ইনসার্ট করার সময় নিরাপত্তা নিশ্চিত করতে পারেন। এই পদ্ধতি ব্যবহারকারীর ইনপুটের সাথে নিরাপদভাবে কাজ করতে সহায়তা করে, বিশেষ করে SQL ইনজেকশন প্রতিরোধে।

Content added By
Promotion

Are you sure to start over?

Loading...