IPv4 Protocol field tells the receiver what kind of protocol message is inside the IP datagram’s payload. So, no—ICMP, IGMP, OSPF, TCP, and UDP are not flags inside the payload. The IPv4 header contains a …
Yes — if the link between two routers is Ethernet, the packet is carried from one router to the next inside an Ethernet frame that uses MAC addresses for that particular hop. But the important …
An electrical signal is a changing electrical quantity, usually voltage or current, in a wire, cable, or electronic circuit. Examples include: A simple way to think about it is: Electrical signal = changing voltage and/or …
A signal is a physical quantity that changes over time or space. Examples include changes in sound pressure, light, temperature, voltage, or current. An electrical signal is a changing electrical quantity, usually voltage or current. …
Electrical Signals: What Is Really Traveling Through a Wire? Electrical Signals: What Is Really Traveling Through a Wire? When people hear the phrase electrical signal, it is easy to imagine electricity as something flowing through …
নতুনদের জন্য বিশেষ করে যারা প্রোগ্রামিঙে নতুন তাদের জন্য ডট নেট প্রযুক্তির বিভিন্ন দিক বুঝতে পারাটা প্রথম দিকে একটু কঠিন মনে হতে পারে, এই প্রবন্ধে আমরা ডট নেট প্রযুক্তির মৌলিক বিষয়গুলো নিয়ে আলোচনা করছি।
ভিজুয়াল স্টুডিয়ো (Visual Studio) হল মাইক্রোসফটের ডট নেট ডেভলাপমেন্টের একটি IDE, যার সর্বশেষ ভার্সন হল Visual Studio10, এটিরও কয়েকটি প্রকরণ যেমন Visual Studio Express, Visual Studio Ultimate এরকম আছে।
ডট নেট প্রোগ্রাম লেখার জন্য সবচেয়ে উপযোগী হল সি শার্প (C#) ল্যাঙ্গুয়েজ, সি শার্প অনেকটা সি ল্যাঙ্গুয়েজ ভিত্তিক প্রোগ্রামিং ল্যাঙ্গুয়েজ যেটি জাভা থেকে অনেক সূত্র নেয় কিন্তু সর্বশেষ কয়েকটি ভার্সনে তারা ভিন্ন শাখা ব্যবহার করছে। VB.NET ভার্সনের আগে সি শার্প নতুন ভাষাগত বৈশিষ্ট্য অর্জন করতে শুরু করেছিল কিন্তু বর্তমানে দুটি ভাষা পরস্পরের সমকক্ষ হয়ে গেছে। সি শার্প পরবর্তীতে গতিশীল, বিবৃতিমূলক ও ফাংশনাল দৃষ্টান্ত ব্যবহার করা শুরু করেছে।
VB.NET সি শার্পের মতই কাজ করে কিন্তু এটি চিহ্নের তুলনায় শব্দনির্ভর, এটি কোন বিবৃতিকে আলাদা করার জন্য নতুন লাইনের চিহ্ন ব্যবহার করে, যেটি কয়েক লাইনের বিবৃতির ক্ষেত্রে সমস্যা সৃষ্টি করে।
F# হল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ যা মূলত OCaml নির্ভর, যা এলগরিদমিক কাজের জন্য সবচেয়ে উপযোগী।
Iron Ruby এবং Iron Python হল Ruby ও Python এর ওপেন সোর্স প্রকরণ যা ডট নেটের বিভিন্ন ভাষার সমন্বয়কারক .NET Common Language Runtime (CLR) এ কার্যকর। IronRuby ও IronPython ব্যবহারের ক্ষেত্রে এই সমন্বয় আবশ্যক নয় কিন্তু সুবিধাজনক অপশন।
.NET CLR একটি ভার্চুয়াল মেসিন যার ভেতরে ডট নেট কোড চলে। যখন আমরা কোন ডট নেট প্রোগ্রাম তৈরি করি তা কোন নেটিভ বাইনারি করে না, তা .NET CLR ভিত্তিক বাইনারি তৈরি করে। এর মানে হল যেকেউ একটি অন্য প্ল্যাটফরমের জন্য .NET CLR লিখে তাতে ডট নেট অ্যাপ্লিকেশন চালাতে পারে, রিকম্পাইল না করেই। .NET CLR এর অল্টারনেটিভ হল মনো(mono), যা .NET CLR এর সাথে সাযুজ্যপূর্ণ কিন্তু এর প্রয়োগের ফলাফল ডট নেট ফ্রেমওয়ার্কে শতভাগ সাযুজ্যপূর্ণ নয়।
.NET Framework হল তথ্যভাণ্ডারের একটি সেট যা ডট নেট প্রোগ্রামের সবচেয়ে কমন ফাংশনালিটি প্রদান করে, .NET Frameworkএ অজস্র অবজেক্ট ও ডজন ডজন নেমস্পেস সংগৃহীত থাকে। দক্ষ ডট নেট ডেভলাপার হতে গেলে ডট নেট ফ্রেমওয়ার্কের কোথায় কি আছে তা জানা জরুরী যাতে কাজের সময় একদম প্রথম থেকে খুঁজতে না হয়।
WinForms হল ডেক্সটপ এপ্লিকেশনে UI নিয়ে কাজ করার জন্য ডট নেটের একটি গতানুগতিক পদ্ধতি, অবজেক্ট তৈরির জন্য নিয়মতান্ত্রিকভাবে কোড ব্যবহার করা হয় যা UI প্রোগ্রাম চালায়, এবং একই কোড নিপুনভাবে সমস্ত প্রোগ্রাম চালায়।WinForms ইভেন্ট হ্যান্ডেলিং কার্যপ্রণালীর মধ্যে ট্রিগার কোডিঙের মাধ্যমে চালিত হয়। এটি Windows Presentation Foundation (WPF) এক তত্ত্বাবধায়নে অপেক্ষাকৃত দ্রুত কাজ করে।
WPF হল Windows Vista ও .NET 3.0এ কার্যকর প্রযুক্তির সেট যা UI কে এক্সএমএল এর অধীনে XAML নামক একটি ভাষার সাহায্যে প্রকাশ করতে দেয়, WPF হল সিলভারলাইট প্রযুক্তির ভিত্তি যা ডেভলাপারদের WinForms এর চেয়ে অনেক সহজে এনিমেশন, ট্রান্সলেসন ও অন্যান্য ইফেক্ট তৈরি করার সুযোগ করে দেয়। Visual Studio 2008তে WPF নিয়ন্ত্রণ অতটা সহজ ছিল না কিন্তু Visual Studio 2010 তে অনেক সহজে এটি ব্যবহার করা যাচ্ছে , XAML বা Expression Blend ইত্যাদি ভাষা শেখার দরকার পরছে না।
সিলভারলাইট হল ডট নেট প্রোগ্রামের পোর্টেবল প্যাকেজ, যা WPF কে UI হিসেবে ব্যবহার করে। বর্তমানে এটি Windows এবং Mac OS X এ চলছে Microsoft-made binaries দ্বারা, আর লিনাক্সে এটি Moonlight application দ্বারা চলছে। যদিও সিলভারলাইট ব্রাউসারের প্লাগিনে বেশি সাযুজ্যপূর্ণ, এটির এপ্লিকেশনগুলো ব্রাউসার ছাড়াও কাজ করে, এবং লোকাল অপারেটিং সিস্টেমে ভালই রেসপন্স করে থাকে।
WinForms যেমন ডেক্সটপ এপ্লিকেশন তৈরিতে সহায়তা করে ওয়েবে সেই কাজ করে ASP.NET, এটি ওয়েব ডেভলাপমেন্টে WinForms model সংস্থাপনের চেষ্টা করে। ASP.NET ডেভলাপারের অনেক কাজ নিজেই করে দেয়, অনেক কর্মপ্রণালীর নিয়ন্ত্রণ নিয়ে নেয়। ডেভলাপারের অনেক কাজ ASP.NET MVC তে শিফট হয়ে যায়।
ASP.NET MVC, WPF এর মত ওয়েব এপ্লিকেশন লেখার অনেকটা স্বয়ংক্রিয় একটি পদ্ধতি যা ডেভলাপারের অনেক কাজ করে দেয়, ASP.NET এর তুলনায়। Ruby on Rails নামক একটি প্রোগ্রামিং ভাষা থেকে এর মূল ধারণা নেয়া হয়েছে। “prefers convention over configuration” হল এর মূলমন্ত্র, এবং separation of concernsবা ঝুঁকির বিন্যাসই এর প্রধান লক্ষ। ASP.NET MVC যত পরিনত হয় তত তা ওয়েব ডেভলাপমেন্ট প্রোজেক্টের জন্য সহায়ক হয়ে উঠে।
এইচটিএমএল ৫ সকল আধুনিক ব্রাউজার সাপোর্ট করে। সকল নতুন এবং পুরাতন ব্রাউজার অটোমেটিক ভাবে অচেনা elements গুলোকে ইনলাইন element হিসেবে চিহ্নিত করে। এই কারনে আপনি অচেনা element গুলোকে চিহ্নিত নিয়ন্ত্রণ করার জন্য পুরাতন ব্রাউজার গুলো শিখতে পারেন। আপনি অনেক আগের ভার্সন IE6(windows XP 2001) শিখতে পারেন যা এইচটিএমএল এর অজানা element গুলোকে নিয়ন্ত্রণ করতে পারে।
এইচটিএমএল ৫ element গুলোকে ব্লক element হিসেবে ডিফাইন করা
এইচটিএমএল৫ ৮টি নতুন element কে ডিফাইন করে থাকে। সবগুলোই ব্লক লেভেল elements। পুরাতন ব্রাউজার গুলোকে সঠিক ফরম্যাট এ ব্যবহার করার জন্য সিএসএস এর ডিসপ্লে প্রপার্টি কে ব্লক আকারে সেট করতে হয়।
ফর্ম এর শুরুতে ইনপুট ফিল্ড এর জন্য একটি প্রাথমিক ভ্যালু সেট করার জন্য value attribute ব্যবহার করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
কেবল পঠনযোগ্যঅ্যাট্রিবিউট (Readonly attribute)
ইনপুট ফিল্ডের ভ্যালু শুধু পরতে পারবে কিন্তু কোন প্রকার পরিবর্তন করতে পারবে না এই readonly attribute দ্বারা
উদাহরণ
<form action=””>
First name:<br>
<input type=”text” name=”firstname” value=”John” readonly>
<br>
Last name:<br>
<input type=”text” name=”lastname”>
</form>
এই attribute এর জন্য কোন মান লাগবে না শুধু লিখতে হবে readonly=”readonly”
ফলাফল
নিষ্ক্রিয়করণঅ্যাট্রিবিউট (Disabled attribute)
ইনপুট ফিল্ডের কোন ডাটা এডিট করা যাবে না,বাবহার করা যাবে না, ক্লিক করা যাবে না এবং সাবমিট করা যাবে না এই রকম disable করে রাখার জন্য এই disable attribute ব্যবহার করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" disabled>
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
এই attribute এর কোন মানের দরকার পরে না (disabled=”disabled”)
ফলাফল
আকারঅ্যাট্রিবিউট (Size attribute)
ইনপুট ফিল্ডের এর character এর আকার size attribute দ্বারা করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" size="40">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
সর্বচ্চোআকারঅ্যাট্রিবিউট (Maxlength attribute)
ম্যাক্সিমাম কতটি ক্যারেক্টার হতে পারে এর জন্য আমরা maxlength attribute ব্যবহার করব।
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" maxlength="10">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
Maxlength দ্বারা নির্দিষ্ট character এর বেশি কোন ওয়ার্ড সাপোর্ট করে না। এই attribute কোন ফিডব্যাক প্রদান করে না। যদি ইউজার কে আমরা alert করতে চাই তাহলে আমাদের javascript বাবকার করতে হবে
ইনপুট নিষেধাজ্ঞা অব্যর্থ হয় না। javascript এর মাধ্যমে অবৈধ ভাবে ইনপুট করার অনেক উপায় আছে। নিরাপত্তার জন্য নিষেধাজ্ঞার পাশাপাশি রিসিভার (সার্ভার) দ্বারা চেক করা আবশ্যক.
কোন ইনপুট ফিল্ড আপনা থেকেই পরিপূর্ণ করবে কিনা এর জন্য autocomplete অন বা অফ ব্যবহার করা হয়। যদি তা অন করা থাকে তাহলে ব্রাউজার ইনপুট ফিল্ডের কোন ভ্যালু insert করার আগে আগেই অটোমেটিক পুরণ হয়ে যাবে যদি আগে এই ভ্যালুটি ইনপুট করা হয়ে থাকে। ফর্মের এর ক্ষেত্রে autocomplete অন রাখা সম্ভব নির্দিষ্ট কিছু ইনপুট ফিল্ডের এর জন্য তা অফ করে রাখা যাবে। autocomplete attribute ফর্মের এর ক্ষেত্রে কাজ করে এবং ইনপুট ফিল্ড এর ভিন্ন ভিন্ন ধরন যেমন text, search, url, tel, email, password, date picker, range, এবং color এই সব ক্ষেত্রে কাজ করে।
উদাহরণ
<form action="action_page.php" autocomplete="on">
First name:<input type="text" name="fname">
কোন ইনপুট ফিল্ড পেজ লোড হওয়ার সাথে সাথে ওই ঘরে কার্সর আনার জন্য এই attribute ব্যবহার করা হয়
উদাহরণ
First name:<input type=”text” name=”fname” autofocus>
ফলাফল
এইখানে firstname এর ঘরে কার্সর দেখা যাবে।
ফর্ম attribute
একাধিক ফর্মের input ফিল্ড কে একটি কমন ফর্ম এর ID দিয়ে চিহ্নিত করার জন্য এই attribute ব্যবহার করা হয়
উদাহরণ
যদিও ফর্ম এর বাইরে একটি ইনপুট ফিল্ড ব্যবহার করা হচ্ছে কিন্তু তারপরও এটি ফর্মের একটি অংশ
<form action="action_page.php" id="form1">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
Last name: <input type="text" name="lname" form="form1">
ফলাফল
The “Last name” field below is outside the form element, but still part of the form.
Last name:
Formaction attribute
Form action attribute একটি ফর্ম এর ফাইল এর URL চিহ্ন করে যেখানে যেয়ে ইনপুট ডাটা সাবমিট হবে। এই attribute দুটি টাইপ এ ব্যবহার করা হয় type=”submit”, type=”image”
উদাহরণ
ভিন্ন ভিন্ন action এ দুইটি বাটন দ্বারা দেখানো হল
<form action=”action_page.php”>
First name: <input type=”text” name=”fname”>
Last name: <input type=”text” name=”lname”>
<input type=”submit” value=”Submit”>
<input type=”submit” formaction=”demo_admin.asp”
value=”Submit as admin”>
</form>
ফলাফল
Formenctype attribute
যখন সার্ভার এ ফর্ম ডাটা সাবমিট করা হবে তখন তা কিভাবে encode করা হবে এর জন্য আমরা এই attribute ব্যবহার করব পোস্ট মেথড এর ক্ষেত্রে । type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরন
প্রথম সাবমিট বাটন ডিফল্ট encoded এবং দ্বিতীয় সাবমিট বাঁটন multipart/form-data হিসেবে encode করা হয়েছে
<form action=”demo_post_enctype.asp” method=”post”>
First name: <input type=”text” name=”fname”>
<input type=”submit” value=”Submit”>
<input type=”submit” formenctype=”multipart/form-data”
value=”Submit as Multipart/form-data”>
</form>
ফলাফল
Formmethod attribute
ফর্ম ডাটা url এ পাঠানোর ক্ষেত্রে HTTP মেথড বোঝার জন্য এই attribute ব্যবহার করা হয় । type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
দ্বিতীয় বাটন টি HTTP এই মেথড এর
<form action=”action_page.php” method=”get”>
First name: <input type=”text” name=”fname”>
Input উপাদান কে সাবমিট করার পর তা অবৈধ ঘোষণা করার ক্ষেত্রে এই বুলিয়ান attribute ব্যবহার করা হয়। type=”submit” এই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
দুইটি সাবমিট বাটন একটি validate ছাড়া অন্যটি validate সহ
<input type=”submit” formnovalidate value=”Submit without validation”>
</form>
ফলাফল
Formtarget attribute
ফর্ম সাবমিট করার পর কোথায় আমরা এর প্রতিক্রিয়া দেখতে চাই তা আমরা এই attribute এর মাধ্যমে করতে পারি। type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
ভিন্ন ভিন্ন টার্গেট এর জন্য দুইটি বাটন ব্যবহার করা হল
<form action=”action_page.php”>
First name: <input type=”text” name=”fname”>
Last name: <input type=”text” name=”lname”>
<input type=”submit” value=”Submit as normal”>
<input type=”submit” formtarget=”_blank”
value=”Submit to a new window”>
</form>
ফলাফল
উচ্চতাএবংপ্রস্থঅ্যাট্রিবিউট Height and width attribute
ইনপুট ফিল্ডের আকার নির্ধারণ করার জন্য এই attribute ব্যবহার করা হয়। type=”image” ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
Width এবং height সহ একটি ইমেজ যুক্ত বাটন দেখানো হল
ন্যূনতম, সর্বোচ্চঅ্যাট্রিবিউট (Min, max attribute)
একটি ইনপুট ফিল্ড এর মিনিমাম এবং ম্যাক্সিমাম ডাটা ইনপুট করার ক্ষেত্রে এই attribute গুলো ব্যবহার করা হয় ভিন্ন ভিন্ন ধরনের ইনপুট ব্যবহার করা যায় number, range, date, datetime, datetime-local, month, time এবং week।
উদাহরন
মিনিমাম এবং ম্যাক্সিমাম ভ্যালু সহ একটি উদাহরণ
Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31">
Enter a date after 2000-01-01:
<input type="date" name="bday" min="2000-01-02">
Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5">
ফলাফল
একাধিকঅ্যাট্রিবিউট (Multiple attribute)
ইনপুট ফিল্ডে একাধিক ডাটা সাবমিট করার ক্ষেত্রে এই বুলিয়ান attribute ব্যবহার করা হয়।দুই ধরনের ইনপুটে কাজ করা যায় ইমেইল, ফাইল।
Regular expression এই ধরনের ডাটা ইনপুট করার ক্ষেত্রে আমরা এই attribute ব্যবহার করব। এতে ফরম্যাট দেওয়া থাকে সেই অনুপাতে ডাটা ইনপুট দিতে হয়। এই টাইপ গুলো হল text, search, url, tel, email এবং password।
উদাহরণ
এই ইনপুট ফিল্ড এ ৩ টা লেটার ইনপুট করা যাবে যেখানে কোন নাম্বার বা special character থাকবে না
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
ফলাফল
স্থানধারকঅ্যাট্রিবিউট (Placeholder attribute)
ইনপুট ফিল্ড এ কোন কিছু ইনপুট করার আগে হালকা ভাবে কোন লেখা ডিসপ্লে করার জন্য এই attribute ব্যবহার করা হয়। এই টাইপ গুলো হল text, search, url, tel, email এবং password।
কোন ইউজার যেন কোন নির্দিষ্ট ইনপুট ফিল্ড ফাকা না রেখে ফর্ম সাবমিট করে সেই জন্য আমরা এই attribute ব্যবহার করব। এই টাইপ গুলো হল text, search, url, tel, email, password, date pickers, numbers, checkbox, radio, file.।
সাধারন তথ্য গ্রহণ করতে টেক্সট ইনপুট ব্যবহৃত হয়। এধরনের ইনপুট এক লাইনের হয়ে থাকে।
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
পাসওয়ার্ড ইনপুট
পাসওয়ার্ড গ্রহণের জন্য এ ধরনের ইনপুট ফিল্ড ব্যবহৃত হয়।
<form>
User name:<br>
<input type=”text” name=”username”>
<br>
User password:<br>
<input type=”password” name=”psw”>
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
পাসওয়ার্ড এর ঘরটিতে কোনকিছু লিখলে তা মাস্কিং হয়ে থাকবে অর্থ্যাত লেখাগুলো দেখা যাবেনা।
সাবমিট বাটন
ফরম পূরণ শেষে ফরম সাবমিট করতে সাবমিট বাটন ব্যবহৃত হয়।
যেমনঃ
<form action=”action_page.php”>
First name:<br>
<input type=”text” name=”firstname” value=”Masud”>
<br>
Last name:<br>
<input type=”text” name=”lastname” value=”Rana”>
<br><br>
<input type=”submit” value=”Submit”>
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
চেকবক্স
চেকবক্স ব্যবহৃত হয় যখন একের অধিক অপশন বাছাই করতে বলা হয়।
<form>
<input type="checkbox" name="vehicle" value="Bike">I have a cycle
<br>
<input type="checkbox" name="vehicle" value="Car">I have a motorcycle
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
রেডিও বাটন
রেডিও বাটন ব্যবহৃত হয় যখন একের অধিক অপশন থেকে একটি অপশন বাছাই করতে বলা হয়।লিঙ্গ নির্বাচন করতে রেডিও বাটন ব্যবহৃত হয়। যেমনঃ
আজকে আমরা জানবো এইচটিএমএল ফর্ম কি এবং এর ব্যবহার সম্পর্কে। সাধারনত কোন ব্যাক্তির কাছ থেকে তথ্য গ্রহণ (ইনপুট) করতে এইচটিএমএল ফর্ম ব্যবহৃত হয়। যা <form> — দ্বারা বোঝানো হয়। যেমনঃ
<form>
.
form elements
.
</form>
এইচটিএমএল ফর্ম এর মধ্যে ফর্ম এলিমেন্ট থাকে। তথ্য ইনপুট দেয়ার জন্য বিভিন্ন ধরনের ফর্ম এলিমেন্ট ব্যবহৃত হতে পারে যেমন চেকবক্স, রেডিও বাটন, সাবমিট বাটন ইত্যাদি।
টেক্সট ইনপুট
সাধারন তথ্য গ্রহণ করতে টেক্সট ইনপুট ব্যবহৃত হয়।
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
নোটঃ ফর্ম নিজে নেজেই প্রদর্শিত হতে পারে না। ডিফল্ট টেক্সট ফিল্ড এর প্রসস্থতা হচ্ছে ২০ বর্ণ ।
চেকবক্স
চেকবক্স ব্যবহৃত হয় যখন একের অধিক অপশন বাছাই করতে বলা হয়।
রেডিও বাটন
<input type=”radio”> রেডিও বাটনকে সঙ্গায়িত করে
রেডিও বাটন ব্যবহৃত হয় যখন একের অধিক অপশন থেকে একটি অপশন বাছাই করতে বলা হয়। লিঙ্গ নির্বাচন করতে রেডিও বাটন ব্যবহৃত হয়। যেমনঃ
ফরম পূরণ শেষে ফরম সাবমিট করতে সাবমিট বাটন ব্যবহৃত হয়।
যেমনঃ
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Masud">
<br>
Last name:<br>
<input type="text" name="lastname" value="Rana">
<br><br>
<input type="submit" value="Submit">
</form>
উপরোক্ত কোডটি ওয়েব ব্রাউজারে দেখা যাবে এভাবেঃ
আপনি যদি “Submit” বাটন এ ক্লিক করেন তাহলে এই ফর্ম এর ডাটা “action_page.php”.পেজ এ পাঠিয়ে দেবে।
একটু লক্ষ্য করলে দেখবো যে উপরের কোডটি লেখার সময় আমরা <form action=”action_page.php”> লিখেছি। এটি লেখা হয়েছে ফরমটা কোথায় সাবমিট হবে তা বুঝিয়ে। এটাকে Attribute বলা হয়।
Pre-defined অপশন্স এর তালিকা থেকে ইনপুট এর উপাদান এর জন্য দাতালিস্ত ব্যবহার করা হয়। ইউজার রা pre-defined অপশন্স এর একটি তালিকা দেখতে পাবে ডাটা ইনপুট দেওয়ার জন্য। এই জন্য <datalist> element এর ভিতর ID attribute নিশ্চিতভাবে ডিফাইন করে দিতে হবে।
ইউজার রা নিরাপদ ভাবে বৈধতা ঘোষণা করার জন্য এই element ব্যবহার করা হয় । এই element এর মাধ্যমে একজোড়া ফিল্ড তৈরি হয় ফর্ম এর মধ্যে। যখন ফর্ম সাবমিট করা হয় দুই ধরনের key তৈরি হয়। একটি প্রাইভেট এবং পাবলিক। প্রাইভেট key লোকাল ভাবে জমা হয় এবং পাবলিক key সার্ভার এ পাঠানো হয়। client কে certify করার ক্ষেত্রে এই প্রাইভেট key ব্যবহার করা হয় যাতে ভবিষ্যতে এই ইউজার কে অথিনটিকেত করা যায়।
XHTML এর পূর্নরুপ হল EXtensible HyperText Markup Language। এটি অবিকল HTML এর মত তবে কিছুটা কঠোর। XHTML সব বড় বড় ব্রাউজারে সাপোর্ট করে।
কেন XHTML ব্যবহার করবো?
HTML কোডিং এ কোন ভুল থাকলেও অনেক সময় বিভিন্ন ব্রাউজ়ারে তা ধরা পড়েনা এবং ব্রাউজারে সুন্দর ভাবেই দেখা যায়। কিন্ত বর্তমানে বাজারে অনেক নতুন ব্রাউজার এসেছে। অনেকেই কম্পিউটার ছাড়াও মোবাইলে সাইট ভিজিট করছে। অনেক মোবাইল ব্রাউজার HTML এর ভুলগুলো সঠিকভাবে দেখাতে পারেনা। XHTML এ যেহেতু কোডিং সঠিকভাবে করতে হয় তাই XHTML ব্যবহার করাই শ্রেয়।
ডকুমেন্ট এর গঠন (Document Structure)
XHTML DOCTYPE আবশ্যক XHTML কোডিং এর ক্ষেত্রে।
এর মধ্যে xmlns attribute ও আবশ্যক।
<html>, <head>, <title>, <body> ও আবশ্যক।
নিম্নে একটি XHTML ডেমো কোড দেয়া হলঃ<
DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>Title of document</title>
</head>
<body> some content
</body>
</html>
এক্সএইচটিএমএল এলিমেন্ট XHTML Elements
XHTML elements গুলো সঠিকভাবে বিন্যাস করতে হবে।
ভুলঃ <b><i>This text is bold and italic</b></i>
সঠিকঃ <b><i>This text is bold and italic</i></b>
XHTML elements গুলো অবশ্যই সঠিকভাবে শেষ করতে হবে।
ভুলঃ <p>This is a paragraph
<p>This is another paragraph
সঠিকঃ
<p>This is a paragraph</p>
<p>This is another paragraph</p>
XHTML elements গুলো lowercase বা ছোটহাতের হতে হবে।
ভুলঃ
<BODY>
<P>This is a paragraph</P>
</BODY>
সঠিকঃ
<body>
<p>This is a paragraph</p>
</body>
XHTML documents এর অন্তত একটা root element থাকতে হবে।
এক্সএইচটিএমএল এট্রিবিউট XHTML Attributes
Attribute names গুলো lowercase বা ছোটহাতের হতে হবে।