Comment

PHP প্রসেসিং ফর্ম (Processing Forms)

PHP সিলেক্ট অপশন (Select)

Estimated reading: 3 minutes 8 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি select এলিমেন্ট ব্যবহার করে একটি ড্রপ-ডাউন তালিকা এবং একটি তালিকা বক্স তৈরি করতে এবং PHP এ select এলিমেন্ট থেকে নির্বাচিত মানগুলি কীভাবে পাবেন তা শিখবেন।

<select> এলিমেন্টের সংক্ষিপ্ত পরিচয়

<select> হলো একটি HTML এলিমেন্ট যা বিকল্পগুলির একটি তালিকা প্রদর্শন করে। নিচে HTML এ <select> এলিমেন্ট ডিফাইন করার পদ্ধতি দেখানো হলো:

<label for="color">পটভূমি রং:</label>
<select name="color" id="color">
	<option value="">--- কোনো রং নির্বাচন করুন ---</option>
	<option value="red">লাল</option>
	<option value="green">সবুজ</option>
	<option value="blue">নীল</option>
</select>

<select> এলিমেন্টের দুটি গুরুত্বপূর্ণ অ্যাট্রিবিউট রয়েছে:

  • idid অ্যাট্রিবিউটটি <select> এলিমেন্টকে একটি <label> এলিমেন্টের সাথে সংযুক্ত করে।
  • namename অ্যাট্রিবিউটটি ফর্ম জমা দেওয়ার সময় মানটির সাথে সংযুক্ত করে।

<select> এলিমেন্টের ভিতরে নেস্ট করা <option> এলিমেন্ট মেনুতে একটি বিকল্প নির্ধারণ করে। প্রতিটি বিকল্পের একটি value অ্যাট্রিবিউট থাকে। value অ্যাট্রিবিউটটি সার্ভারে জমা দেওয়া ডেটা সংরক্ষণ করে যখন এটি নির্বাচিত হয়।

যদি কোনো বিকল্পের value অ্যাট্রিবিউট না থাকে, তাহলে value অ্যাট্রিবিউটটি ডিফল্টভাবে <option> এলিমেন্টের ভিতরে থাকা টেক্সটে পরিবর্তিত হয়।

পৃষ্ঠাটি প্রথমবার লোড হলে কোনো বিকল্প নির্বাচন করতে, আপনি <option> এলিমেন্টে selected অ্যাট্রিবিউট যোগ করতে পারেন।

নিচের উদাহরণটি পৃষ্ঠাটি প্রথমবার লোড হলে সবুজ বিকল্পটি নির্বাচন করে:

<label for="color">পটভূমি রং:</label>
<select name="color" id="color">
	<option value="">--- কোনো রং নির্বাচন করুন ---</option>
	<option value="red">লাল</option>
	<option value="green" selected>সবুজ</option>
	<option value="blue">নীল</option>
</select>

<select> এলিমেন্ট থেকে নির্বাচিত মান পাওয়া

আমরা একটি ফর্ম তৈরি করব যা একটি <select> এলিমেন্ট ব্যবহার করে।

প্রথমে, নিম্নলিখিত ফোল্ডার এবং ফাইল তৈরি করুন:

├── css
|  └── style.css
├── inc
|  ├── footer.php
|  ├── get.php
|  ├── header.php
|  └── post.php
└── index.php

দ্বিতীয়ত, নিম্নলিখিত কোডটি header.php ফাইলে রাখুন:

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
    <title>PHP select option</title>
</head>

<body class="center">
    <main>

তৃতীয়ত, নিম্নলিখিত কোডটি footer.php ফাইলে রাখুন:

HTML

</main>
</body>

</html>

চতুর্থত, একটি ফর্ম তৈরি করতে নিম্নলিখিত কোডটি get.php ফাইলে যোগ করুন যা একটি সাবমিট বোতাম সহ একটি <select> এলিমেন্ট রয়েছে:

HTML

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post">
    <div>
        <label for="color">পটভূমি রং:</label>
        <select name="color" id="color">
            <option value="">--- কোনো রং নির্বাচন করুন ---</option>
            <option value="red">লাল</option>
            <option value="green" selected>সবুজ</option>
            <option value="blue">নীল</option>
        </select>
    </div>
    <div>
        <button type="submit">নির্বাচন করুন</button>
    </div>
</form>

ফর্মটি ডেটা ওয়েবসার্ভারে জমা দেওয়ার জন্য POST পদ্ধতি ব্যবহার করে।

অবশেষে, নিম্নলিখিত কোডটি post.php ফাইলে যোগ করুন:

PHP

$color = filter_input(INPUT_POST, 'color', FILTER_SANITIZE_STRING);

?>

<?php if ($color) : ?>
    <p>আপনি নির্বাচন করেছেন <span style="color:<?php echo $color ?>"><?php echo $color ?></span></p>
    <p><a href="index.php">ফর্মে ফিরে যান</a></p>
<?php else : ?>
    <p>আপনি কোনো রং নির্বাচন করেননি</p>
<?php endif ?>

$_POST সুপারগ্লোবাল ভেরিয়েবলটি ব্যবহার করে <select> এলিমেন্টের নির্বাচিত মান পেতে পারেন যদি ফর্ম পদ্ধতিটি POST হয় (বা $_GET যদি ফর্ম পদ্ধতিটি GET হয়)।

অথবা, আপনি নির্বাচিত মানকে স্যানিটাইজ করতে filter_input() ফাংশনটি ব্যবহার করতে পারেন।

যদি আপনি <select> এলিমেন্টের প্রথম বিকল্পটি নির্বাচন করেন, তাহলে নির্বাচিত মানটি খালি হবে। অন্যথায়, নির্বাচিত মানটি লাল, সবুজ বা নীল হবে।

একাধিক বিকল্প সহ নির্বাচন করুন

একাধিক নির্বাচন সক্রিয় করতে, আপনি <select> এলিমেন্টে multiple অ্যাট্রিবিউটটি যোগ করুন:

HTML

<select name="colors[]" id="colors" multiple>
...
</select>

একাধিক বিকল্প নির্বাচন করা

একাধিক বিকল্প নির্বাচন সক্ষম করতে, আপনি <select> এলিমেন্টে multiple অ্যাট্রিবিউটটি যোগ করুন:

HTML

<select name="colors[]" id="colors" multiple>
...
</select>

এখন, আপনি ফর্ম জমা দিলে, <select> এলিমেন্টের নামে একটি অ্যারে থাকবে যা আপনি নির্বাচিত সমস্ত বিকল্প ধারণ করে।

উদাহরণস্বরূপ, ধরে নিই আপনি লাল, সবুজ এবং নীল বিকল্প নির্বাচন করেছেন। ফর্ম জমা দেওয়ার পরে, আপনি নিম্নলিখিত অ্যারেটি পাবেন:

PHP

array(
  0 => 'red',
  1 => 'green',
  2 => 'blue',
)

একাধিক নির্বাচিত মান পেতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

PHP

$selected_colors = filter_input(
    INPUT_POST,
    'colors',
    FILTER_SANITIZE_STRING,
    FILTER_REQUIRE_ARRAY
);

এই কোডটি নিম্নলিখিত কাজ করে:

  • filter_input() ফাংশনটি ব্যবহার করে $_POST সুপারগ্লোবাল ভেরিয়েবল থেকে colors নামের একটি মান পায়।
  • FILTER_SANITIZE_STRING ফিল্টারটি ব্যবহার করে নির্বাচিত মানগুলিকে স্যানিটাইজ করে।
  • FILTER_REQUIRE_ARRAY ফিল্টারটি নিশ্চিত করে যে নির্বাচিত মানগুলি একটি অ্যারে।

যদি কোনো মান নির্বাচিত না হয়, তাহলে $selected_colors ভেরিয়েবলটি null হবে।

নিচের কোডটি আপনাকে নির্বাচিত রঙগুলি প্রদর্শন করতে সাহায্য করবে:

PHP

if ($selected_colors) {
    echo '<p>You selected the following colors:</p>';
    echo '<ul>';
    foreach ($selected_colors as $color) {
        echo "<li style='color:$color'>$color</li>";
    }
    echo '</ul>';
} else {
    echo '<p>You did not select any color.</p>';
}

এই কোডটি নিম্নলিখিত কাজ করে:

  • যদি কোনো রং নির্বাচিত হয়, তাহলে এটি একটি বুলেট তালিকায় নির্বাচিত রঙগুলি প্রদর্শন করে।
  • অন্যথায়, এটি একটি বার্তা প্রদর্শন করে যে কোনো রং নির্বাচিত হয়নি।

সংক্ষিপ্ত বিবরণ

  • <select> এলিমেন্টটি একটি ড্রপডাউন তালিকা তৈরি করতে ব্যবহৃত হয়।
  • একাধিক নির্বাচনের অনুমতি দিতে <select> এলিমেন্টে multiple অ্যাট্রিবিউটটি যোগ করুন।
  • ফর্ম পদ্ধতিটি POST হলে <select> এলিমেন্টের নির্বাচিত মান পেতে $_POST সুপারগ্লোবাল ভেরিয়েবলটি ব্যবহার করুন (অথবা ফর্ম পদ্ধতিটি GET হলে $_GET ব্যবহার করুন)।
  • একাধিক নির্বাচিত মান পেতে <select> এলিমেন্টের নামের পরে বর্গাকার বন্ধনী ([]) যোগ করুন।

Leave a Comment

Share this Doc

PHP সিলেক্ট অপশন (Select)

Or copy link

CONTENTS

Subscribe

×
Cancel