অ্যাজাক্স পাঠশালা [পর্ব-০৩] :: পিএইচপি GET মেথড সম্পর্কে বিস্তারিত

গত পর্বে আমরা অ্যাজাক্সের পরিচিতি এবং অ্যাজাক্স শিখার আগে কি কি জানতে হবে তা জেনেছিলাম । আজকে আমরা পিএইচপি এর GET মেথড সম্পর্কে জানব । আপনারা সকলেই নিশ্চয়ই পিএইচপি সম্পর্কে জানেন । না জানলে আগের ক্লাসটি ভাল করে দেখুন । এখন আমরা মেথড সম্পর্কে জানব !

মেথড কি ?

পিএইচপি তে মেথড মূলত একটি পদ্ধতি যার মাধ্যমে ইউজার থেকে তথ্য বা ইনফরমেশন নেওয়া হয় । আর এই কাজটি হয়ে থাকে এইচটিএমএল ফর্ম দিয়ে অথবা অন্য কোন মাধ্যমে এবং অবশ্যই দুটি মেথড এর মাধ্যমে । একটি GET এবং অপরটি POST । এখন আমরা GET মেথড সম্পর্কে জানব ।

GET মেথড ?

পিএইচপি প্রোগ্রামিং এ ইউজার থেকে কোন ডাটা নেওয়ার জন্য এ মেথড ব্যাবহার করা হয় । কিন্তু এটি POST মেথড থেকে কম সিকিউর । কারন এখানে ইউজার যে তথ্য দিবে তা ব্রাউজার এ দেখাবে । যেমন


উপরের লিঙ্ক টি দেখুন এই লিঙ্ক টি গেট মেথডের মাধ্যমে তৈরি হওয়া । কারন এখানে সকল তথ্য যেমন post = 231021 , action = edit , message = 10 আছে যেটা পোস্ট মেথডের সময় থাকত না । তাই কোন সিকিউর বেবস্থায় GET ব্যাবহার না করে POST মেথড ব্যাবহার করবেন । এছাড়াও GET মেথড এ ইউজার এর কাছ থেকে ১০০০ শব্দের বেশি ইনপুট নিতে পারবেন না । তাই যখন ইউজার এর কাছ থেকে ১০০০ শব্দের বেশি ইনপুট নেওয়ার প্রয়োজন পড়বে যেমন ইউজার কোন পোস্ট লিখবে অথবা কোন কমেন্টস করবে তখন GET মেথড ব্যাবহার না করে POST মেথড ব্যাবহার করতে হবে । সর্বশেষ একটি পিএইচপি প্রোগ্রাম লিখব GET মেথড সম্পর্কে ভালভাবে বোঝতে । ধরুন আপনি ইউজার এর কাছ থেকে তার নাম এবং তার বাবার নাম এবং তার কলেজ এর নাম জানতে চান এবং এ সকল তথ্য ইউজার এর কাছ থেকে GET মেথডের মাধ্যমে পেতে চান 😀 । যদিও এটা একটা হাস্যকর প্রোগ্রাম এখানে শুধুমাত্র আপনাদের GET মেথড সম্পর্কে বোঝানোর জন্য এই প্রোগ্রাম টি লিখা হবে ।

প্রোগ্রামঃ

প্রোগ্রামটি টি লিখার জন্য কম্পিউটার এর লোকালহস্ট এ একটি ফোল্ডার করুন এবং ফোল্ডার এ test.php নামে একটি ফাইল তৈরি করে নিচের কোডটি লিখে ব্রাউজার এ ওপেন করুন যেভাবে অন্য কোন পিএইচপি ফাইল ওপেন করেন

<?php
	if(isset($_GET['my_name']) && isset($_GET['father_name']) && isset($_GET['my_college'])){ //Check User Set Data
		if(!empty($_GET['my_name']) && !empty($_GET['father_name']) && !empty($_GET['my_college'])){ // Check User Don't Empty Any Data
			$my_name = $_GET['my_name']; // Store User Name
			$father_name = $_GET['father_name']; // Store User Father's Name
			$my_college = $_GET['my_college']; // Store User College Name
			// Now Output User All Information
			echo "
				MY Name: $my_name <br />
				My Father's Name: $father_name <br />
				My College Name:$my_college
			";
		}else{
			echo "Please Input Your All Information"; // If User Empty Any Information Then This Line Execute On Browser 
		}
	}


?>






<form action='test.php' method='GET'>
	<p>Name: <input type='text' name='my_name'/></p>
	<p>Father Name: <input type='text' name='father_name' /></p>
	<p>College <input type='text' name='my_college' /></p>
	<input type='submit' name='submit' value='Share' />
</form>

প্রোগ্রামের কোড বিশ্লেষণঃ

  • ১ নম্বর লাইনের <?php দিয়ে পিএইচপি লেখা শুরু করা হয়েছে
  • ২ নম্বর লাইনে একটি ইফ কন্ডিশন প্রয়োগ করা হয়েছে এখানে চেক করা হয়েছে ইউজার তার ইনপুট গুলো সেট করেছে কিনা । এখানে isset একটি পিএইচপি ফাংশন যা দ্বারা ইনপুট চেক করা হয়
  • ৩ নম্বর লাইনে আরও একটি ইফ কন্ডিশন প্রয়োগ করা হয়েছে এখানে চেক করা হয়েছে ইউজার কোন ইনপুট খালি রেখেছে কিনা বা ইউজার কোন ইনফরমেশন দেয় নাই কি না । এখানে empty একটি পিএইচপি ফাংশন যা দ্বারা ইউজার ইনপুট চেক করা হয় আর এখানে empty এর আগে ! ব্যাবহার করা হয়েছে কারন এখানে চাওয়া হয়েছে যদি এম্পটি না থাকে তাহলে নিচের কোড গুলো এক্সেকিউট করবে আর যদি এম্পটি থাকে তাহলে ১৫-১৭ লাইন পর্যন্ত অর্থাৎ else এর পরের টুকু এক্সেকিউট করবে
  • ৪,৫,৬ নম্বর লাইন এ ইউজার এর দেওয়া নাম,বাবার নাম, কলেজের নাম যথাক্রমে my_name.father_name.my_college ভেরিএবল এ ষ্টোর করা হয়েছে
  • ৮-১৪ নাম্বার লাইন এ ইউজার এর দেওয়া তথ্য ব্রাউজার এ আউটপুট করা হয়েছে
  • ১৮ নম্বর লাইনে ?> দ্বারা পিএইচপি শেষ করা হয়েছে
  • ২০ নম্বর লাইন থেকে মূলত একটি ফর্ম তৈরি করা হয়েছে ইউজার এর কাছ থেকে তথ্য নেওয়ার জন্য । আমরা যেহেতু এই ফাইল এ অর্থাৎ test.php তে পিএইচপি কোড গুলো রেখেছি তাই action এ test.php দিয়েছি অর্থাৎ ফর্ম এ সাবমিট করলে কোন কোড গুলো এক্সেকিউট করবে । আর method এ GET দিয়েছি কারন এখানে থেকে GET মেথড এর মাধ্যমে  আমরা পিএইচপি তে ডাটা গুলো পাঠাবো
  • তারপর তিনটি ইনপুট টেক্সট তৈরি করা হয়েছে তথ্য নেওয়ার জন্য এবং  name দেওয়া হয়েছে my_name,father_name,my_college এই নেম দিয়েই পিএইচপিতে ডাটা গুলো ষ্টোর করা হবে
  • তারপর একটি ইনপুট সাবমিট তৈরি করা হয়েছে
  • এখানে $_GET[] একটি গ্লোবাল ভেরিএবল যার মাধ্যমে এইচটিএমএল থেকে name এর সাহায্যে ডাটা নেওয়া হয়
  • // ব্যাবহার করা হয়েছে কমেন্টস এর জন্য তাই // এর পর অই লাইন এ যা আছে টা এক্সেকিউট করবে না

কোড রানঃ

তারপর লিখা কোড গুলো ব্রাউজার এ রান করুন যেভাবে অন্য কোন পিএইচপি ফাইল রান করেন করার পর নিচের ছবির মত আসবে

ধরুন আমি এখানে নিচের ছবির মত ইনফরমেশন দিলাম

তারপর সাবমিট এ ক্লিক করলে নিচের মত ফলাফল আসবে

ফলাফল বিশ্লেষণঃ

এখানে লাল দাগ গুলো দেয়া ইনফরমেশন ই হল আমার আগের দেওয়া ইনফরমেশন । এভাবেই GET মেথড এর মাধ্যমে ইউজার এর কাছ থেকে ইনফরমেশন নেওয়া হয় । পরবর্তী ক্লাসে আমরা POST মেথড সম্পর্কে জানব । কোন কিছু বোঝতে সমস্যা হলে অবশ্যই কমেন্টস করবেন 🙂

ধন্যবাদ

তারেক মাহমুদ

Level 0

আমি তারেক মাহমুদ। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 3 টি টিউন ও 0 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

প্রিয় টিউনার,

আপনি ভুল ভাবে আপনার চেইন টিউনের শিরোনাম গুলো দিচ্ছেন। আপনি পর্ব হিসেবে টিউনের শিরোনাম গুলো –

চেইন টিউনের নাম [পর্ব-০১] :: চেইন টিউনের ভিতরের বিষয়বস্তু …

চেইন টিউনের নাম [পর্ব-০২] :: চেইন টিউনের ভিতরের বিষয়বস্তু ….

চেইন টিউনের নাম [পর্ব-০৩] :: চেইন টিউনের ভিতরের বিষয়বস্তু

এর অর্থ প্রথমে চেইন টিউনের নাম, এরপর (স্পেস দিয়ে) স্কয়ার ব্রাকেটের ( [ ] ) মধ্যে পর্ব হাইফেন (-) দিয়ে দুই সংখ্যায় পর্বের নম্বর। স্কয়ার ব্রাকেটের ( [ ] ) ভিতরে কোন স্পেস দিবেন না। এরপর (স্পেস দিয়ে) ডাবল কোলন (::) এর পরে (স্পেস দিয়ে) চেইন টিউনের ভিতরের বিষয়বস্তু॥ এই ফরমেটে চেইন টিউনের শিরোনাম গুলো লিখুন।

এই চেইনের পূর্বের পর্ব গুলোর শিরোনাম গুলোও যদি টেকটিউনস চেইন টিউনের শিরোনাম মোতাবেক করা না থাকে তবে সব গুলো এখনই সংশোধন করুন ও পরবর্তী সকল চেইন টিউনে সঠিক ভাবে চেইন টিউনের শিরোনাম দিন।

টেকটিউনস থেকে আপনার টিউন গুলো চেইন করে দেওয়া হবে। চেইন টিউন কীভাবে প্রক্রিয়া হয় তা জানতে ‘টেকটিউনস সজিপ্র’ https://www.techtunes.io/faq এর ‘চেইন টিউন’ অংশ দেখুন। ধন্যবাদ।

প্রিয় টিউনার,
আপনাকে এই চেইনটি চলমান করার জন্য অনুরোধ করা গেল। দয়া করে আপনার চেইন টিউনটি নতুন পর্ব যুক্ত করুন এবং নিয়মিত আপডেট করুন। ধন্যবাদ।

প্রিয় টিউনার,

আপনার টিউনটি টেকটিউনস চেইন টিউন হিসেবে অন্তর্ভুক্ত করা হয়েছে। অভিনন্দন আপনাকে!

টেকটিউনসে চেইন টিউন কীভাবে প্রক্রিয়া হয় তা জানতে টেকটিউনস সজিপ্র এর https://www.techtunes.io/faq “চেইন টিউন” অংশ দেখুন।

নিয়মিত চেইন টিউন করুন। এখন থেকে আপনার নতুন করা চেইন টিউন গুলো টেকটিউনস থেকে চেইন এ যুক্ত করা হবে। চেইন টিউনে যুক্ত হবার ফলে চেইনের প্রতিটি পর্ব একসাথে থাকবে।

চেইনে নতুন পর্ব যুক্ত হলে তা টেকটিউনসের প্রথম পাতায় দেখা যাবে এবং “সকল চেইন টিউনস” https://www.techtunes.io/chain-tunes/ পাতায় চেইন টিউনটি যুক্ত হবে।

নিয়মিত চেইন টিউন করে নতুন নতুন টিউন আপনার চেইনে যুক্ত করুন এবং অসম্পূর্ণ না রেখে আপনার চেইন টিউনে নিয়মিত পূর্ণাঙ্গ রূপ দিন।

মেতে থাকুন প্রযুক্তির সুরে আর নিয়মিত করুন চেইন টিউন!