ওয়েব স্কুল বিডি : সুপ্রিয় শিক্ষার্থী বন্ধুরা, শুভেচ্ছা নিয়ো। আমরা গত ক্লাসে পিএইচপি গেট মেথড নিয়ে আলোচনা করেছিলাম। আজ তোমাদের পিএইচপি পোস্ট মেথড নিয়ে আলোচনা করা হলো :
পিএইচপি পোস্ট মেথড :
এই পদ্ধতিতে ফর্ম দিয়ে সার্ভারে যে তথ্যই পাঠানো হোক তা কেউ দেখতে পারেনা ব্রাউজারের এড্রেসবারেও প্রদর্শিত হয়না। ফর্মের method এট্রিবিউটে দিতে হবে method="post" যেমন দেখুন নিচের ফর্মে দিয়েছি।
এখানে সুবিধা হল যত ইচ্ছা তথ্য পাঠাতে পারেন (আসলে সর্বোচ্চ 8Mb পর্যন্ত পাঠানো যায়।)
এবার যখন ইউজার সাবমিট বাটনে ক্লিক করবে তখন ব্রাউজার এড্রেসবারে নিচের মত দেখাবে
http://localhost/index.php
আর এবার ফর্মের ডেটা $_POST সুপারগ্লোবাল ভেরিয়েবল দিয়ে গৃহীত হবে। $_POST একটি সুপারগ্লোবাল ভেরিয়েবল $_GET এর মতই। এখানেও অ্যারের ইনডেক্স হিসেবে ফর্ম ফিল্ডের name এট্রিবিউটের মান দিতে হবে। যেমন উপরের ফর্ম সাবমিট করলে যদি "name" এর মান দেখতে চাই তাহলে index.php হবে নিচের মত
গেট পোস্ট মেথডের মধ্যে পার্থক্য :
get মেথডের ফর্মের ডেটা URL এ দেখা যায় কিন্তু post মেথডের ফর্মের ডেটা URL এ দেখা যায়না।
get মেথডে ফর্ম সাবমিট করার পর যদি ব্রাউজারের "back" বাটনে ক্লিক করে পেছনে যেতে চান তাহলে যেতে পারবেন এমনকি URL টি কপি করে রিলোড করলেও কোন ডেটা হারাবেনা কিন্তু post মেথডে ব্রাউজার alert দেখাবে যে পেছনে যেতে চান কিনা। যদি post মেথডে URL কপি করে রিলোড করতে পারেন এবং ভেলিডেশন দুর্বল হয় তাহলে ডেটা হারিয়ে যাবে।
get মেথডের নিরাপত্তা কম post এর তুলনায়।
$_REQUEST একটি সুপারগ্লোবাল ভেরিয়েভল আছে যেটা দিয়ে get কিংবা post দুটোরই ডেটা ধরা যায়। অর্থ্যাৎ ফর্মের মেথড get বা post যেটাই থাকুক না কেন $_REQUEST['field_name'] এভাবে ফর্মের ডেটা নিতে পারবেন। তবে এটার নিরাপত্তা কম তাই প্রয়োজন ছাড়া ব্যবহার করা উচিৎ নয়।
অনলাইন এ ক্লাস করুন একদম ফ্রী. …
প্রতিদিন রাত ৯টা থেকে ১০.৩০টা পর্যন্ত
Skype id - wschoolbd
বি.দ্র.: ওয়েব স্কুল বিডি থেকে বিদেশে পড়াশোনা সংক্রান্ত বিভিন্ন পরামর্শ প্রদান করার উদ্যোগ নেওয়া হয়েছে। আমাদের সাথে যোগাযোগ – ০১৯১৫-৪২৭০৭০ (সকাল ১১ টা থেকে দুপুর ১ টা পর্যন্ত)।
পিএইচপি পোস্ট মেথড :
এই পদ্ধতিতে ফর্ম দিয়ে সার্ভারে যে তথ্যই পাঠানো হোক তা কেউ দেখতে পারেনা ব্রাউজারের এড্রেসবারেও প্রদর্শিত হয়না। ফর্মের method এট্রিবিউটে দিতে হবে method="post" যেমন দেখুন নিচের ফর্মে দিয়েছি।
এখানে সুবিধা হল যত ইচ্ছা তথ্য পাঠাতে পারেন (আসলে সর্বোচ্চ 8Mb পর্যন্ত পাঠানো যায়।)
এবার যখন ইউজার সাবমিট বাটনে ক্লিক করবে তখন ব্রাউজার এড্রেসবারে নিচের মত দেখাবে
http://localhost/index.php
আর এবার ফর্মের ডেটা $_POST সুপারগ্লোবাল ভেরিয়েবল দিয়ে গৃহীত হবে। $_POST একটি সুপারগ্লোবাল ভেরিয়েবল $_GET এর মতই। এখানেও অ্যারের ইনডেক্স হিসেবে ফর্ম ফিল্ডের name এট্রিবিউটের মান দিতে হবে। যেমন উপরের ফর্ম সাবমিট করলে যদি "name" এর মান দেখতে চাই তাহলে index.php হবে নিচের মত
গেট পোস্ট মেথডের মধ্যে পার্থক্য :
get মেথডের ফর্মের ডেটা URL এ দেখা যায় কিন্তু post মেথডের ফর্মের ডেটা URL এ দেখা যায়না।
get মেথডে ফর্ম সাবমিট করার পর যদি ব্রাউজারের "back" বাটনে ক্লিক করে পেছনে যেতে চান তাহলে যেতে পারবেন এমনকি URL টি কপি করে রিলোড করলেও কোন ডেটা হারাবেনা কিন্তু post মেথডে ব্রাউজার alert দেখাবে যে পেছনে যেতে চান কিনা। যদি post মেথডে URL কপি করে রিলোড করতে পারেন এবং ভেলিডেশন দুর্বল হয় তাহলে ডেটা হারিয়ে যাবে।
get মেথডের নিরাপত্তা কম post এর তুলনায়।
$_REQUEST একটি সুপারগ্লোবাল ভেরিয়েভল আছে যেটা দিয়ে get কিংবা post দুটোরই ডেটা ধরা যায়। অর্থ্যাৎ ফর্মের মেথড get বা post যেটাই থাকুক না কেন $_REQUEST['field_name'] এভাবে ফর্মের ডেটা নিতে পারবেন। তবে এটার নিরাপত্তা কম তাই প্রয়োজন ছাড়া ব্যবহার করা উচিৎ নয়।
অনলাইন এ ক্লাস করুন একদম ফ্রী. …
প্রতিদিন রাত ৯টা থেকে ১০.৩০টা পর্যন্ত
Skype id - wschoolbd
বি.দ্র.: ওয়েব স্কুল বিডি থেকে বিদেশে পড়াশোনা সংক্রান্ত বিভিন্ন পরামর্শ প্রদান করার উদ্যোগ নেওয়া হয়েছে। আমাদের সাথে যোগাযোগ – ০১৯১৫-৪২৭০৭০ (সকাল ১১ টা থেকে দুপুর ১ টা পর্যন্ত)।
Tags
PHP