আমাদের কথা খুঁজে নিন

   

পিএইচপি দিয়ে ছোট্ট ছোট্ট মজার প্রজেক্ট – সিম্পল লগিন সিস্টেম এবং সেশন ক্রিয়েট

শীত ও দেশের দুর্দশার মধ্যেও ভালো আছেন, আশা করি।
পিএইচপি, আমার খুব প্রিয় একটা জিনিস। এইটা নিয়ে খেলতে ভালো লাগে সব সময়। চেষ্টা করবো, পিএইচপি দিয়ে কিছু মজার প্রজেক্ট দেখাতে।
প্রথমেই বানিয়ে নিবো, একটা লগিন সিস্টেম।

যেখানে লগিন করা ছাড়া আমাদের নিরাপদ পেজে যাওয়া যাবেনা। ধরা যাক, আমাদের একটা পেজ আছে home.php যেখানে শুধু লগড ইন লোকজন যেতে পারবে। অন্যয় কেউনা। অন্য কেউ যেতে চাইলে তারে বের করে দিবো।
আচ্ছা, শুরুতে এখানে গিয়ে পিএইচপি দিয়ে করা ছোট্ট একটা ফাইজলামী দেখে আসেন।

আর  কমেন্টে জানান, আপনার নামের মানে কি দাঁড়ালো!
যা যা লাগবেঃ
- আপনার wamp/xamp সার্ভার।
- কয়েকটা পিএইপি পেজ। ( .php )
- ছোট্ট মোট্ট HTML/CSS ডিজাইন।
শুরু করা যাকঃ
আমি ধরে নিসি আপনি ব্যসিক পিএইচপি, এইচটিএমএল,সিএসএস এসব পারেন।
প্রথমে ডিজাইন দেখে নেই -

তারপর wamp/xampp server স্ট্যারট করে ব্রাউজারে localhost/phpmyadmin এ গিয়ে একটা ডাটাবেজ বানাই, “login” নামে।

তার ভেতর একটা টেবিল বানাই “tab1” নামে। সেখানে ৩টা কলাম দিয়ে নিচের ছবির মত ডাটা টেবিল বানাই। এর পর SQL এ গিয়ে নিচের ছবির মত বেশ কিছু ইউজারের সাথেসাথে পাসওয়ার্ডও এড করি।
login নামের ডাটাবেজে, tab1 নামে টেবিল ক্রিয়েট। Type গুলো খেয়াল করবেন।


Insert এ ক্লিক করে, ইউজার এড করছি উপরের লেখাটা লিখে।
এরপর লগিন এর জন্য, index.php বানাই, সেটার কোড দেখে নেই-
index.php এর ভেতরের কোড।
index.php এর বাহিরের দিক ( firefox browser )
আচ্ছা, কোডে ২৮-৩৪ নাম্বার লাইন হচ্ছে HTML এ লগিন ফর্ম দেখানোর জন্য। এইটা সবাই বুঝতেসেন। এখান থেকে ইউজার থেকে ইনপুট দিয়ে ডাটা ধরে তা PHP দিয়ে পাঠাবো ডাটাবেজে।

সেটা ঠিক থাকলে লগিন হবে, না হলে এরর মেসেজ দিবে।
আচ্ছা, এইবার পিএইচপি কোড এর প্রতি লাইনের নিচে কমেন্ট আউট করে লিখে দিচ্ছি এই লাইনটা কেন লিখলাম।

<?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 "
";
// যদি ইউজারনেম ও পাসওয়ার্ড ঠিক না থাকে, তাহলে এরর মেসেজ দেখাবে।
}
?>
পরের কাণ্ডঃ
home.php পেজের একদম শুরুতে, নিচের কোড লিখে দিবেন। এরকম যত সিকিউরড পেজ চান, সবখানেই এই কোড এড করে দিবেন শুরুতে।


home.php পেজের শুরুতে এইটা না থাকলে, লগিন না করেও এক্সেস করা যাবে।
লগআউট এর logout.php নামে একটা পেজ বানান তারপর নিচের কোড দিয়ে দেন। আর সিকিউরড পেজের কোথায় এই logout.php লিঙ্ক( <a href="./logout.php">Logout Here </a> )  করে দিবেন।
লগআউট ফর্ম


লগিন করে, স্ট্যাটাস দিতে ভুলবেন না।
আর হ্যাঁ, কোন প্রশ্ন থাকলে, আমাকে সহজেই পাবেন, এখানে ফেসবুকে।


ভালো থাকবেন। সুখে থাকবেন।
নিরাপদে থাকবেন।

সোর্স: http://www.techtunes.com.bd/     দেখা হয়েছে ২৪ বার

এর পর.....

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।