শীত ও দেশের দুর্দশার মধ্যেও ভালো আছেন, আশা করি।
পিএইচপি, আমার খুব প্রিয় একটা জিনিস। এইটা নিয়ে খেলতে ভালো লাগে সব সময়। চেষ্টা করবো, পিএইচপি দিয়ে কিছু মজার প্রজেক্ট দেখাতে।
প্রথমেই বানিয়ে নিবো, একটা লগিন সিস্টেম। যেখানে লগিন করা ছাড়া আমাদের নিরাপদ পেজে যাওয়া যাবেনা। ধরা যাক, আমাদের একটা পেজ আছে home.php যেখানে শুধু লগড ইন লোকজন যেতে পারবে। অন্যয় কেউনা। অন্য কেউ যেতে চাইলে তারে বের করে দিবো।
আচ্ছা, শুরুতে এখানে গিয়ে পিএইচপি দিয়ে করা ছোট্ট একটা ফাইজলামী দেখে আসেন। আর কমেন্টে জানান, আপনার নামের মানে কি দাঁড়ালো! 😀
যা যা লাগবেঃ
- আপনার wamp/xamp সার্ভার।
- কয়েকটা পিএইপি পেজ। ( .php )
- ছোট্ট মোট্ট HTML/CSS ডিজাইন।
শুরু করা যাকঃ
আমি ধরে নিসি আপনি ব্যসিক পিএইচপি, এইচটিএমএল,সিএসএস এসব পারেন।
প্রথমে ডিজাইন দেখে নেই -
তারপর wamp/xampp server স্ট্যারট করে ব্রাউজারে localhost/phpmyadmin এ গিয়ে একটা ডাটাবেজ বানাই, “login” নামে। তার ভেতর একটা টেবিল বানাই “tab1” নামে। সেখানে ৩টা কলাম দিয়ে নিচের ছবির মত ডাটা টেবিল বানাই। এর পর SQL এ গিয়ে নিচের ছবির মত বেশ কিছু ইউজারের সাথেসাথে পাসওয়ার্ডও এড করি।
এরপর লগিন এর জন্য, index.php বানাই, সেটার কোড দেখে নেই-
আচ্ছা, কোডে ২৮-৩৪ নাম্বার লাইন হচ্ছে HTML এ লগিন ফর্ম দেখানোর জন্য। এইটা সবাই বুঝতেসেন। এখান থেকে ইউজার থেকে ইনপুট দিয়ে ডাটা ধরে তা PHP দিয়ে পাঠাবো ডাটাবেজে। সেটা ঠিক থাকলে লগিন হবে, না হলে এরর মেসেজ দিবে।
আচ্ছা, এইবার পিএইচপি কোড এর প্রতি লাইনের নিচে কমেন্ট আউট করে লিখে দিচ্ছি এই লাইনটা কেন লিখলাম।
<?php if(isset($_POST['username'])) >// যখন ইউজারনেম পাবো { session_start(); // সেশন শুরু করছি। শুরু করা সেশন কাজে লাগবে যখন আমি লগডইন হয়ে অন্যয় পেজে যাব, সেখানে যাতে এই // লোকটা ছাড়া অন্য কেউ না যেতে পারে, তার জন্য। include('./db.php'); ডাটাবেজ কানেকশানের জন্য এইটা ইনক্লুড করলাম। ঐ পেজে, ডাটাবেজের নাম, ডাটাবেজ ইউজার এক্সস // ইনফরমেশান দেওয়া আছে। $qry = mysql_query("SELECT * FROM tab1"); // mySQL কুয়েরি চালিয়ে, ডাটাবেজের সব ডাটা সিলেক্ট করলাম। $u = array(); //keep username $p = array(); //keep password // $u, $p নামে দুইটা এরে নিলাম, যারে আমি এই সিলেক্ট করা ডাটাবেজের ইউজারনেম আর পাসওয়ার্ড গুলো বের করে এনে রাখতে পারি। $htmlu = $_POST['username']; $htmlp = $_POST['password']; // ইউজার লগিন পেজে যেই ডাটা দিবে তা উপরের দুই ভদ্র লোক ধরবে। $i=0; while($row = mysql_fetch_array($qry)) { $u [] = $row['username']; $p [] = $row['password']; $i++; } // হোয়াইল লুপ চালিয়ে, ডাটাবেজ এর ইউজার নেম আর পাসওয়ার্ড বের করে আনলাম, যা এখন $u, $p দুইটা এরে'তে জমা আছে। এরপর আমরা ইউজার এর দেওয়া ইনপুট আর ডাটবেজ থেকে বের করে আনাটা চেজ করবো। // login check for( $j=0; $j <= sizeof($u); $j++ ) { // একটা ফর লুপ চলবে, $u এরের শেষ পর্যন্ত if( $u[$j] == $htmlu && $p[$j] == $htmlp) { // ইউজারের দেওয়া ইন্টপুট $htmlu ডাটাবেজের কারও সাথে মিল পেলে এবং $htmlp সেইম রো'র পাসওয়ার্ড এর সাথে মিল পেলে সেশনরে ইউজারের //দেওয়া ইউজার নেম ঢুকিয়ে home.php তে রিডিরেক্ট করবে। $_SESSION['username'] = $_POST['username']; header('Location: ./home.php'); } } echo " <div> <h6>RuBin Alert: Wrong Username/Password!</h6> </div> "; // যদি ইউজারনেম ও পাসওয়ার্ড ঠিক না থাকে, তাহলে এরর মেসেজ দেখাবে। } ?>
পরের কাণ্ডঃ
home.php পেজের একদম শুরুতে, নিচের কোড লিখে দিবেন। এরকম যত সিকিউরড পেজ চান, সবখানেই এই কোড এড করে দিবেন শুরুতে।
লগআউট এর logout.php নামে একটা পেজ বানান তারপর নিচের কোড দিয়ে দেন। আর সিকিউরড পেজের কোথায় এই logout.php লিঙ্ক( <a href="./logout.php">Logout Here </a> ) করে দিবেন।
লগিন করে, স্ট্যাটাস দিতে ভুলবেন না। 😉
আর হ্যাঁ, কোন প্রশ্ন থাকলে, আমাকে সহজেই পাবেন, এখানে ফেসবুকে।
ভালো থাকবেন। সুখে থাকবেন।
নিরাপদে থাকবেন।
আমি Rubel Orion। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 7 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 4 টি টিউন ও 15 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ধনবাদ ভাই