ওডেস্ক টিউটোরিয়ালঃ পর্ব ১

0
COM

ওডেস্ক কি ?
  • ওডেস্ক একটি অনলাইন মার্কেটপ্লেস। অনলাইন মার্কেটপ্লেস আবার কি? এরকম প্রশ্ন আসতে পারে মনে। অনলাইন মার্কেটপ্লেস হচ্ছে এমন একটি মার্কেট যেখানে নির্দিষ্ট কাজের জন্য যোগ্য লোক খুঁজে নিয়োগ দেয়া হয়।

এটা কিভাবে কাজ করে ?
  • এখানে, এমপ্লয়ার (বায়ার) এবং কন্ট্রাক্টর (ওয়ার্কার) নামে দুটি টার্ম আছে। এমপ্লয়ার তার কাজ, কাজের প্রকৃতি, ধরণ, সময়কাল, তার নিজস্ব মতামত দিয়ে কাজের বিজ্ঞাপন দিয়ে থাকেন। আর একজন কন্ট্রাক্টর যদি নিজেকে যোগ্য মনে করেন সেই কাজের জন্য তবে তার পারিশ্রমিকসহ এমপ্লয়ার বরাবর এপ্লিকেশন (কভার লেটার) করেন।

কি কি ধরণের কাজ এখানে পাওয়া যায় ?
  • বাসায় বসে দূরবর্তী কাউকে করে দেয়া যায়, এখানে সেই ধরণের কাজই থাকে সাধারণত। এর মধ্যে উল্লেখযোগ্য হলঃ

ওয়েব ডেভেলপমেন্ট (যেমন, ওয়ার্ডপ্রেস, সি.এস.এস, পি.এইচ.পি, এইচ.টি.এম.এল, জুমলা ইত্যাদি)
১. ওয়েব ডিজাইন (যেমন, ওয়ার্ডপ্রেস ডিজাইন, থিসিস ডিজাইন, ওয়েবপেজ ডিজাইন ইত্যাদি)
২. সফটওয়্যার ডেভেলপমেন্ট (যেমন, ডেস্কটপ এপ্লিকেশন, মোবাইল এপস ইত্যাদি তৈরি)
৩. ব্লগ রাইটিং/আর্টিকেল রাইটিং (যেমন, কোনো ব্লগের জন্য পোস্ট, রিভিউ রাইটিং ইত্যাদি)
৪. ডাটা এন্ট্রি (যেমন, পিডিফ থেকে এক্সেল শিট সম্পাদন, ক্যাপচা এন্ট্রি ইত্যাদি)
৫. গ্রাফিক্স ডিজাইন (যেমন, এডোব ইলাস্ট্রেটর, ফটোশপ ইত্যাদি)
৬. কাস্টমার সাপোর্ট (যেমন, ইমেইল রেসপন্স, কল রেসপন্স ইত্যাদি)
৭. সেলস মার্কেটিং (যেমন, এস.ই.ও, মার্কেট রিসার্চ ইত্যাদি)

আর বলতে পারলাম না। বাকিগুলো নিচের ছবিটি দেখে বুঝে নিনঃ
Capture 1 ফ্রীল্যান্সিং এর পথে   ওডেস্ক টিউটোরিয়ালঃ পর্ব ১

কাজের কি কোনো প্রকারভেদ আছে ?
  • হ্যাঁ, এখানে ২ ধরণের কাজ পাওয়া যায়ঃ

১. নির্ধারিত মূল্য (ফিক্সড প্রাইস) : নির্ধারিত মূল্যের কাজে বায়ার যেভাবে বলবে আপনি সেভাবে কাজ সম্পন্ন করে দেবেন । কাজ সঠিকভাবে সম্পন্ন হলে এপ্লিকেশন করার সময় যে টাকায় কাজটি করার জন্য প্রস্তাব করেছিলেন সেই পরিমাণ টাকা বায়ার আপনাকে পে করতে বাধ্য থাকবে।
২. ঘন্টায় পারিশ্রমিক (আওয়ারলি) : আর আওয়ারলি কাজে আপনি একটি নির্দিষ্ট মূল্যে (ঘন্টা প্রতি) সময়কাল উল্লেখ করে এপ্লাই করবেন। ফলে, যত ঘন্টা কাজ করবেন, তত ঘন্টার জন্য সেই পরিমাণ টাকা বায়ার পে করতে বাধ্য থাকবে (সঠিকভাবে কাজ হওয়ার শর্তে)।

কোন ধরণের কাজ বেশি ভালো ?
  • ওডেস্কে ফিক্সড প্রাইসের কাজের চেয়ে আওয়ারলি ভালো। এটা এজন্যই যে, ফিক্সড প্রাইস কাজে বায়ার আপনার টাকা মেরে দিতে পারে। কিন্তু, আওয়ারলি তে এটা সম্ভব না।

সবসময় এপ্লাই করে কাজ নিতে হবে ?
  • হ্যাঁ, আপনাকে সবসময় কাজের জন্য এপ্লাই করতে হবে। এপ্লাই করার সময় বায়ার বরাবর একটি পত্র পাঠাতে হয় যা কভার লেটার নামে পরিচিত। এটি কাজ পাওয়ার ক্ষেত্রে অধিক গুরুত্বপুর্ণ।

কাজ দেয়ার ক্ষেত্রে বায়ার কোন বিষয়গুলোতে নজর দেন ?
  • অবশ্যই, সর্বপ্রথম আপনার প্রোফাইল দেখবেন। তারপর আপনার কভার লেটার দেখে আপনার ইংলিশে কথা বলার দক্ষতা নিরূপণ করবেন। তারপর, আসবে আপনার পোর্টফলিও। এটি হচ্ছে আপনার অতীতের এ ধরণের কাজের বিবরণ। এটি আপনার প্রোফাইলেই দেয়া থাকবে। সব শেষে আসবে, আপনার টেস্ট গুলোর ফলাফল। ওডেস্কে কাজ করতে টেস্ট অনেক গুরুত্বপূর্ণ। এ টেস্ট গুলো ওডেস্কের নিজস্ব প্রশ্নে হয়ে থাকে। আপনাকে প্রতিটি পরীক্ষায় কমপক্ষে ৩.৮০-৫.০০ এর মধ্যে রেজাল্ট দেখাতে হবে। যদিও ২.৫০ পেলে পাস, কিন্তু এটা খুব গুরুত্বপূর্ণ বলে এত কমে কাজ পাওয়ার চিন্তা করা বোকার কাজ হয়ে যাবে।

আজ এ পর্যন্তই। আগামীতে, আবারও লেখার অঙ্গীকার নিয়ে এখানেই শেষ করছি।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১৬] :: String Function part =>1

0
COM

হ্যালো টিউনার ভাইয়ারা সবাই কেমন আছেন সবাই??? আমি ভালই আছি। কেমন চলছে আপনাদের পিএইচপি নিয়ে গবেষনা??? আশা করি ভালই চলছে। আমারো ভালই চলছে। গত পর্বে আমি আপনাদের দেখিয়েছিলাম কিভাবে md5 function ব্যবহার করতে হয়। জানিনা আপনারা সবাই বুঝতে পেরেছেন কি না। তবে আমার যেটা মনে হয় আপনাদের বোঝার সমস্যা হবার কথা না। কারন টিউটোরিয়ালের বিষয়টা অনেক সহজ। আর আপনারা কমেন্টে তেমন কেউ সাহায্যও চাননি। যদি কোন সমস্যা থাকে তাহলে অবশ্যই আমাকে কমেন্ট করে যানাবেন।
আমরা আজ পিএইচপির বেশ কিছু বিল্টইন function সম্পর্কে আমরা জানব। এসকল function কে String function বলা হয়। যাই হোক যেহেতু এগুলো বিল্টইন হিসাবে থাকে তাই এগুলো কিভাবে ব্যবহার করা হয় সেটা আমরা জানব।

String reverse function:

পিএইচপি তে এই String reverse function টার বেশি দরকার পরবেনা আপনাদের। তবে শিখে রাখার জন্য আমরা এটা নিয়ে আলচনা করলাম। আসলে এটার কাজ কোন লিখা কে উল্টিয়ে দেয়া। মনে করুন, কোন ভ্যারিয়েবলের ভ্যালু যদি ১২৩৪ হয় তাহলে এটাকে String reverse function ব্যবহার করে ৪৩২১ করে দিতে পারি। আর টা লিখতে হয় strrev()রুপে। তাহলে প্রোগ্রাম লিখা যাক।
1
2
3
4
5
<?php
$number = 1234;
$reverse= strrev($number);
echo $reverse
?>

String to lower function:

মনেকরুন আপনারা একটা ওয়েব সাইট বানাচ্ছে। যেখানে একজন ইউজার লগিন করবে তার ইউজারনেম আর পাসোয়ার্ড দিয়ে। এখন মনে করুন আপনার ওয়েব সাইটের একজন ইউজার ওয়েব সাইটে রেজিঃ করার সময় তার কিবোর্ডের ক্যাপস লুকটা চালু ছিল। এখন যদি সে ওয়েব সাইটে রেজিঃ করে তাহলে তার দেয়া সকল অক্ষর গুলো ইংরেজী বড় হাতের হয়ে যাবে। আবার নিজেদের নাম অনেক স্টাইল করে লিখতে পারে। যেমন আমার ইউজারনেম যদি হয় techtunes তাহলে আমি হয়ত চাইব একটু স্টাইল করে লিখতে। অর্থাৎ আমি হয়ত TechTunes লিখব। কিন্তু আমরা চাচ্ছি আমাদের ডাটাবেজে সেভ হবার সকল ইংরেজী লেটার যেন ছোট অক্ষরের হয়। তাহলে আমাদের যে function টা ব্যবহার করতে হবে সেটা হল string to lower function। এটাকে লিখা হয় strtolower() রুপে। তাহলে একটা প্রোগ্রাম লিখাযাক।
1
2
3
4
5
<?php
$username = 'TechTunes';
$DB= strtolower($username);
echo $DB
?>

String to upper function:

নামটা শুনেই হয়ত বুঝতে পারছেন এটা কি কাজে লাগবে আমাদের। হ্যা এটা আমাদের ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে পরিনত করবে ঠিক String to lower function এর মত। এটা লিখার নিয়ম হল strtoupper(). তাহলে প্রোগ্রাম লিখাযাক।
1
2
3
4
5
<?php
$username = 'TechTunes';
$DB= strtoupper($username);
echo $DB
?>

String length function:

এই function টা আমরা কোন ভ্যারিয়েবলের ভ্যালুর দৈর্ঘ্য মাপার জন্য ব্যবহার করব। মনে করুন আমাদের একটা ভ্যারিয়েবল $username এবং এর ভ্যালু techtunes। এখন যদি আমরা কোন কারনে আমরা যান্তে চাই যে $username এর ভ্যালুতে কত গুলো later আছে তাহলে আমাদের যেই function টা ব্যবহার করতে হবে সেটা হল String length function। আপনারা হয়ত বুঝতে পেরেছেন যে এটা কি কাজে লাগতে পারে। তারপরো একটা প্রোগ্রাম লিখলাম।
1
2
3
4
5
<?php
$username = 'techtunes';
$langth= strlen($username);
echo $langth
?>
দেখবেন ৯ শো করছে। কারন techtunes শব্দ টি নয়টি অক্ষরে গঠিত। এবার একটু ভাবুন তো এটা কি কাজে লাগতে পারে???? মাথায় কি কিছু আসছেনা???? আমি বলছি। অনেক ওয়েব সাইটে দেখবেন যে লিখা থাকে পাসোয়ার্ড সর্ব নিম্ন ৬ টা ক্যারেক্টারের হতে হবে। এর কম হলে আমরা রেজিঃ করতে দেয়া হবে না। তারা মূলত এই function ব্যাবহার করে আমাদের দেয়া পাসোয়ার্ড টা চেক করে। আমি এখন আপনাদের দেখাব কিভাবে এইচটিএমএল এর ফর্মের সাথে এটা জুরে দিবেন।
এটা আমাদের পিএইচপি প্রোগ্রামিং এর ক্ষেত্রে অনেক কাজে লাগবে তাই এটা নিয়ে বিস্তারিত আলোচনা করলাম।
মনেকরুন আপনি একটা ওয়েব সাইটের রেজিঃ পেজ প্রোগ্রামিং করছেন। এখন আপনি চাচ্ছেন আপনার ওয়েব সাইটে যারা রেজিঃ করবে তাদের পাসোইয়ার্ড যেন মিনিমাম ৬ অক্ষরের হয়। তাহলে এরকম একটা প্রোগ্রাম লিখা যাক
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="tutorial.php" method="POST">
<input type="password" name="password">
<input type="submit" value="Register"><br />
 
<?php
If(isset($_POST['password'])){
    $password_len = strlen($_POST['password']);
    if($password_len<6){
    echo'password be more then 6 characters';
    }
    else{
    echo'password is valid';
    }
    }
?>
এবার রান করে দেখুন খুব সুন্দর ছোট্ট একটা অ্যাপ্লিকেশন তৈরি হয়ে গেছে। কত সহজেই না বানিয়ে ফেললাম সব কিছু। আসলে পিএইচপি অনেক সহজ যদি করা হয় প্র্যাক্টিস।
আজ অনেক বকবক করা হল। অনেক কিছু শেখাও হল। আজ আর না লিখাই ভাল। বেশি খেলে হজেমে প্রব্লেম হতেব পারে। তাই আজ আর লিখলাম না। সবাই অনেক অনেক ভাল থাকবেন। আগামী পর্বে আরো আসাম আসাম জিনিশ নিয়ে আপনাদের কাছে আসব। সবাই ভাল থাকবেন।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১৫] :: md5 function

0
COM

php
হ্যালো টিউনার ভাইয়ারা সবাই কেমন আছেন সবাই??? আমি ভাল নেই। এই জিপি ইন্টারনেট দিয়ে ইন্টারনেট চালালে কি ভাল থাকা যায়?? ইন্টারনেট এর স্পিড দেখে আমার মাথা ঘুরে যাচ্ছে :) , আর অনেক দিন পর টিউন টা করার জন্য আমি দুঃখিত। পড়ার এত পরিমান চাপ যে আমি বলে বোঝাতে পারবনা। আর আমার মা আমার ল্যাপটপ টা কোথায় যেন লুকিয়ে রেখেছিলেন যাতে আমি খুজে না পাই। অনেক অনেক বার চাইলাম তারপর দিল মাত্র ১ঘন্টার জন্য :( , আমার কথা বাদ দিন, আপনাদের প্র্যাকটিস কেমন হচ্ছে??? আমি গতপর্বে একটা পরীক্ষা দেবার জন্য প্রশ্ন দিয়েছিলাম আপনাদের জন্য। কেন জানিনা আপনারা কেউ আমার পরীক্ষার উত্তর দেননি :(
আমি খুব মর্মাহত আপনাদের এরকম পরীক্ষা না দেয়াতে :( , মানে বিনা পরীক্ষায় আপনারা সবাই ফেল :D । তাহলে পরীক্ষার উত্তর দিয়েই আমি আজকের টিউনটা শুরু করি।
আমি আপনাদের এমন একটা কোড লিখতে বলেছিলাম যেখানে ১ জন ইউজারের লগিন ইনফরমেশন থাকবে। অর্থাৎ একটা ইউজারনেম এবং একটা পাসওয়ার্ড থাকে। আর একটা ফরম থাকবে যেখানে ইউজার তার ইনফরমেশন গুলো দিবে। আর লগিন করা মাত্র সেখানে দেখাবে "Thanx for login".আর ভুল করলে দেখাবে Password wrong। পাসোয়ার্ড না লিখলে দেখাবে Please write your username & password। তাহলে প্রোগ্রাম টা কেমন হবে?? আমি নিচে প্রোগ্রাম টা লিখে দিলাম।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="tutorial.php" method="POST">
    Userame: <input type="text" name="username"><br />
    Password: <input type="password" name="password"><br />
    <input type="submit" value="login">
</form>
 
<?php
    $username = 'techtunes';
    $password = '12345';
 
    if(isset($_POST['username'])&& isset($_POST['password'])&& !empty($_POST['username'])&& !empty($_POST['password'])){
        if($_POST['username']==$username && $_POST['password']==$password){
        echo'Thanx for login';
        }else{echo'Password wrong';}
    }
    else{
    echo 'Please write your username & password';
    }
?>
প্রোগ্রাম টা রান করান এবং চেষ্টা করুন লগিন করার। আমি ইউজারনেম হিসাবে দিয়েছি techtunes আর পাসওয়ার্ড হিসাবে দিয়েছি 12345, এখন গবেষনা শুরু করেদিন :)
.
.
.
.
আজ আমরা যে বিষয় টা শিখব সেটা হল function। আমি function নিয়ে অলরেডি একটা পোষ্ট করে ফেলেছি। কিন্তু অনেকে অভিযোগ করেছেন যে এটা তারা বুঝতে পারেন নি। তাই function চেনার বা লিখার সহজ উপাই আপনাদের শিখিয়ে দিই। function এর ফরমেট টা হবে ঠিক এরকমঃ function()। মানে আমরা যেই function ব্যবহার করব সেই function এর নাম তারপর (), আর ব্র্যাকেটের মধ্যে লিখব function এর যে কাজ করতে হবে সেটা। এখনো যদি বুঝতে না পারেন তাহলে আমার সাথেই থাকুন আর আমার প্রত্যেকটা টিউন ফলো করুন। তাহলে ক্লিয়ার হয়ে যাবেন।
আজ আমরা নতুন যে function টা শিখব সেটা হল md5 function। আসলে এইটা আমারদের অনেক অনেক কাজে লাগবে। তবে আমার মনে হয় সবচেয়ে বেশি কাজে লাগবে আমাদের ওয়েব সাইটের সিকিউরিটিতে। চলুন এর সম্পর্কে ধারনে নেয়া যাক।
মনে করুন অনেক কষ্ট করে একটা ভাল মানের ওয়েব সাইট বানালেন। ওয়েব সাইটটা ফেসবুকের মত। মানে ইউজারের অনেক তথ্য আপনার ডাটাবেজে থাকবে। মনে করুন আপনার ডাটাবেজে ১কোটি ইউজারনেম আর পাসওয়ার্ড আছে। এখন কোন এক হ্যাকার আপনার ওয়েব সার্ভার হ্যাক করল। যখন আপনার ডাটাবেজ চেক করবে তখন তারা আপনার সংরক্ষিত সকল ডাটা তারা দেখতে পাবে। যেমন তারা আপনাদের ইউজারনেম আপনাদের পাসওয়ার্ড সব তারা জেনে যাবে। তাহলে কি হবে ভাবতে পারছেন??? আপনার ইউজার দিন দিন বাড়ার বদলে কমে যাবে। ইউজার মনে করবে আপনার ওয়েব সাইটটা একেবারে ফালতু। কারন আপনার ওয়েব সাইটের একাউন্টের সকল পাসওয়ার্ড অন্য কেউ জেনে গেছে।
তাহলে এরকম সমস্যা নিরাসনে আপনি কি পদক্ষেপ নিতে পারেন??? হ্যা আমি আজ আপনাদের এমন একটা বুদ্ধি দিব যেটা তে এরকম হ্যাক হওয়া থেকে বাঁচতে পারবেন। আপনার পাসওয়ার্ড আর অন্যান্য ইনফরমেশন গুলোকে আপনার ডাটাবেজে সরাসরি স্টোর না করে অন্যরকম ভাবে স্টোর করে রাখা গেলে হ্যাকার ভাইয়ারা কিন্তু আপনার স্টোর করা ইনফরমেশন গুলো বুঝতে পারবেনা। আর এই অন্যরকম করে ব্যবহার করার জন্য আপনাদের যেই function টা ব্যবহার করতে হবে সেটা হল md5 function। হয়ত আপনাদের বুঝাতে পেরেছি। আরও ভাল ভাবে বুঝানোর জন্য আপনাদের একটা উদাহরন দেয়া যাক। মনে করুন আপনার পাসওয়ার্ড 12345, যদি পাসওয়ার্ড ডাটাবেজে 12345 লিখা থাকে তাহলে আপনার ডাটা বেজ হ্যাক হওয়ার সাথে সাথে সকল পাসোয়ার্ড হ্যাকাররা জেনে যাবে। কিন্তু যদি পাসোয়ার্ড টা ডাটাবেজে যদি 827ccb0eea8a706c4c34a16891f84e7b শো করে তাহলে হ্যাকাররা কি বুঝতে পারবে এটা কি???? আমার মনে হয় ১ টা পাসোয়ার্ড বের করতে হ্যাকারদের ১০ বছর লেগে যাবে। এখন হয়ত আপনারা বুঝতে পারছেন যে md5 function টা কি কাজে আমাদের লাগবে। মানে md5 এর কাজ ইউজারদের দেয়া ইনফরমেশনকে বদলে দেয়া।
এবার আসি md5 function এর ব্যবহার এ। প্রথমে আমরা md5 function দিয়ে কোন ভ্যালুকে প্রিন্ট করা শিখি। চলুন একটা প্রোগ্রাম লিখা যাক।
1
2
3
4
5
<?php
$password = '12345';
$password_md5 = md5($password);
echo $password_md5
?>
বাহ কি সহজ তাইনা এটা লিখা। আমি এর অর্থ টাও বলে দিচ্ছি। প্রথমে আমরা বলে দিচ্ছি $password এর মান 12345, তারপর 12345 এর মান md5 function ব্যবহার করে বদলে দিচ্ছি। তারপর আমরা প্রিন্ট করছি $password_md5 মান মানে আমাদের পাসোয়ার্ড এর মান। আমি জানি আপনারা অনেক বেশি ট্যালেন্ট আমার চেয়ে। তাই আপনাদের এটা বোঝার সমস্যা হবার কোন সম্ভাবনাই নেই। তারপরও যদি সমস্যা হয় তাহলে আমাকে জানাবেন।
হুম এখন আমি জানি আপনাদের মাথায় কি প্রশ্ন ঘুর ঘুর করছে। আপনারা ভাবছেন,
প্রশ্নঃ যদি এরকম হাবি-জাবি লিখা আমাদের ডাটাবেজে স্টোর হয় তাহলে পরে যখন ইউজার লগিন করবে তখন সে পাসোয়ার্ড দিবে 12345, তাহলে এটা আমাদের ডাটাবেজের স্টোর করা পাসোয়ার্ড থেকে আলাদা তাহলে কি পাসোয়ার্ড ভুল দেখাবে???
উত্তরঃ হ্যা!!! যদি আপনারা আপনার লিখা প্রোগ্রামটা মডিফাই না করেন তাহলে তাহলে ভুল তো দেখাবেই!!
প্রশ্নঃ তাহলে উপায়???
উত্তরঃ আমি থাকতে কেন আপনারা উপায় খুজতে যাবেন??? আমি একটা প্রোগ্রাম লিখে দিচ্ছি দেখুন তো কিছু বুঝেন কিনা :)
মনে করুন ইউজার এর দেয়া পাসওয়ার্ড আপনার ডাটাবেজে সেভ করেছেন। আপনার সত্যিকার পাসয়ার্ড 12345 এবং সেভ হওয়া পাসোয়ার্ড 827ccb0eea8a706c4c34a16891f84e7b। এবার আমরা চেক করব 12345 কে md5 করলে 827ccb0eea8a706c4c34a16891f84e7b আসে কিনা। তাহলে চলুন প্রোগ্রাম লিখাযাক।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="tutorial.php" method="POST">
<input type="password" name="password">
<input type="submit" value="login">
</form>
 
<?php
$password_md5= '827ccb0eea8a706c4c34a16891f84e7b';
 
if (isset($_POST)){
    $password = md5($_POST['password']);
    if(!empty($password)){
    if($password==$password_md5){
        echo 'You can login!!! ';
        }else{
            echo 'Wrong password!!!';
            }
        }
    }
?>
এখন আপনি পাসোয়ার্ড 12345 দিলে লগিন করবে। যদিও আপনার ডাটা বেজে 827ccb0eea8a706c4c34a16891f84e7b দিয়ে সেভ করা আছে।
আসলে অনেক সহজ। খুব কঠিন না। আপনাদের কাছে কত টা সহজ লাগছে বুঝতে পারছি না। কিন্তু আমার কাছে অনেক সহজ লাগতেছে :D
আমি কিন্তু সহজ করে md5 এর ব্যবহার দেখানোর জন্য ছোট্ট একটা প্রোগ্রাম লিখেছি। আপনারা কিন্তু এরকম সহজ প্রোগ্রাম লিখবেন না। আপনাদের কাজ হবে আগের টিউটোরিয়াল গুলোর সাহায্য নিয়ে md5 ব্যবহার করে আগের মত ইউজারনেম আর পাসোয়ার্ড দিয়ে লগিন এপ্লিকেশন তৈরি করা। আমি জানি আমার টিউটোরিয়াল যারা ফলো করছেন তারা সকলেই পারবেন। তারপরো বেশি বেশি প্র্যক্টিস করবেন প্লিজ। না পারলে আমি আপনাদের সাথেই আছি।
সবাই ভাল থাকবেন। আগামী আবারো দেখা হবে ইনশাআল্লাহ্‌। সেই পর্যন্ত সবাই ভাল থাকবেন।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১৪] :: Combining html and PHP

0
COM

php
হ্যালো টিউনার ভাইয়ারা সবাই কেমন আছেন??? আশা করি ভালই আছেন। আমিও আছি একরকম। অনেক দিন পর টিউন করতে বসলাম আপনাদের জন্য। আসলে পরীক্ষা ছিল তাই ঠিক মত টিউন করতে পারিনি। আশা করি এখন থেকে পারব। আমার কথা বাদ দিন। কেমন হচ্ছে আপনাদের প্র্যাকটিস??? খুব ভাল করে প্র্যাকটিস করবেন কিন্তু না হলে সব ভুলে যাবেন। আমার আপনার কথা অনেক হল এবার আমাদের পিএইচপি এর কথায় আসা যাক।
গত পর্বে আমরা GET_Method নিয়ে আলোচনা করেছলাম। সকলেই সেটা ভাল ভাবে বুঝতে পেরেছেন আশা করি। এতদিনের সব কিছু মিলে একটা পরীক্ষা হয়ে যাক আপনাদের। আমি আপনাদের প্রোগ্রাম লিখতে বলব। আপনারা সেই শর্ত অনুশারে প্রোগ্রাম লিখে আমাকে কমেন্ট করে যানাবেন। আর হ্যা প্রোগ্রাম প্রিন্ট করার জন্য এই টিউন টি ফলোকরুনঃ http://www.techtunes.com.bd/web-design/tune-id/77692
প্রশ্নঃ
*পোষ্ট মেথডে এমন একটা প্রোগ্রাম লিখুন যেখানে,
ক) একটা ফরম থাকবে।
খ) ফরমএ ইউজারনেম ও পাসওয়ার্ড এর জন্য ঘর থাকবে।
গ) একটা নিদ্রিষ্ট ইউজারনেম ও পাসওয়ার্ড এর জন্য যেখানে লগিন করা যাবে।
ঘ) প্রোগ্রাম রান হবার পর ব্রাউজারে কোন এররর থাকা যাবে না।
যারা প্রোগ্রাম টা লিখতে পারবেন তারা অবশ্যই ভবিশ্যতে ভাল প্রোগ্রামার হতে পারবেন। আমি গ্যারান্টি দিচ্ছি। আর যারা পারবেন না তাদের এরেকটু প্র্যাকটিসের দরকার আছে। আসলে আমি জানি আপনাদের পিএইচপি পরীক্ষাটার প্রশ্ন টা একটু কঠিন হয়ে গেল। তবুও আপনারা পারবেন বলে আমার মনে হয়। আর হ্যা আপনারা আমার সব টিউন গুলোর সাহায্য নিতে পারেন আপনাদের প্রোগ্রাম লিখার সময়।
এবার আসল কথায় আশা যাক। যারা একটু পিএইচপি এর খোজ খবর রাখেন তারা হয়ত যানেন পিএইচপি আর এইচটিএমএল এর কাজ একসাথে করতে হয়। আপনারা গত ২ পর্বে অলরেডি দেখেছেন আমরা এইচটিএমএল এর সাথে কিভাবে পিএইচপি নিয়ে কাজ করেছি। আজ আমরা আরেকটু প্র্যাকটিস করব এইটা নিয়ে। চলুন শুরু করা যাক।
মনে করুন আপনারা একটা ওয়েব সাইট বানাতে চাচ্ছেন যেখানে আপনার নাম লিখা মাত্রই আপনার নাম ধরে ওয়েলকাম করবে। মনেকরুন আপনার নাম Potol khan। আপনি সেটা ব্রাউজারের টেক্সট বক্সে লিখা মাত্রই আপনাকে দেখাবে "Welcome! Mr. Potol khan" তাহলে তাহলে প্রোগ্রাম টা কি করে লিখবেন??? চলুন একটা প্রোগ্রাম লিখাযাক,
1
2
3
4
5
6
7
8
9
10
11
12
<form action="tutorial.php" method="POST">
    Name: <input type="text" name="name"><br />
    <input type="submit" value="print">
</form>
<?php
    if(isset($_POST['name'])&& !empty($_POST['name'])){
    echo'Welcome Mr. '.$_POST['name'];
    }
    else{
    echo 'please write your name';
    }
?>
প্রোগ্রাম টা রাক করান দেখুন কি হয়। এরপর আপনার নাম লিখুন বক্সে। কি হল??? আপনাকে ওয়েলকাম জানাচ্ছে?? বাহ কি সহজ তাইনা। আসলেই খুব সহজ।
এবার একটা নতুন আইডিয়া তে কাজ করা যাক। মনে করুন আপনার ওয়েব সাইটে নাম বক্সের মধ্যে আপনি একটা নাম লিখবেন সেটা অন্য একটা টেক্সট এরিয়াতে প্রিন্ট হবে তাহলে কেমন হবে??? আমার কথা বুঝলেন নাতো??? হুম সহজ করে বলি।
মনে করুন আলু আর বেগুন ২ জমজ ভাই। জন্ম থেকেই তাদের আচার ব্যবহার একিরকম। এখন আপনাকে আলুকে নিয়ে রচনা লিখতে বলা হল। আপনি লিখলেন। আবার বেগুন কে নিয়ে লিখতে বলা হল আপনি লিখলেন। এতে করে কি হল??? শুধু সময় নষ্ট হল। কেন??? যেহেতু আলু আর বেগুন ২ ভাই একজনের নামের বদলে আরেক জনের নাম লিখেদিলেই তো একবারে কাজ হয়ে যাবে। বার বার রচনা লিখতে হবেনা। আর আপনি যে সাইট ডেভলপ করছেন সেটা মনে করুন কপি প্রোটেক্ট। মানে যদি একবার কোন লিখা ওয়েব সাইটে প্রিন্ট হয় তাহলে সেটা আর কপি করা যাবে না। তাহলে যদি এরকম হত যে আপনি আলু লিখা মাত্রই আলুর রচনা আপনার সামনে চলে আসল। আবার বেগুন লিখা মাত্রই বেগুনের রচনা আপনার সামনে চলে আসল। কিন্তু যেহেতু ওয়েব সাইট টা কপি প্রোটেক্ট তাই আপনি রচনা টা কপি করতে পারলেন না তাহলে লাভ কি হল??? যদি এরকম হত ওয়েব সাইট যতই কপি প্রোটেক্ট হোক না কেন আপনি সব লিখা কপে করতে পারবেন তাহলে কেমন হত??? আমার ধারনা হয়ত বুঝতে পেরেছেন। আমাদের কাজ হবে একটা এক্সট্রা টেক্সট এরিয়া তৈরি করা। যেখানে আমাদের রচনা টা শোকরবে। চলুন করা যাকঃ
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    if(isset($_POST['name'])&& !empty($_POST['name'])){
    $name = $_POST['name'];
    }
    else{
    echo 'please write your name';
    }
?>
<form action="tutorial.php" method="POST">
    Name: <input type="text" name="name"><br />
    <input type="submit" value="print"><br />
    <textarea rows="20" cols="50"><?php echo $name.' is a good boy. '.$name.' has 2 books. '.$name.' is a good php coder.' ; ?></textarea>
</form>
প্রোগ্রাম টা রান করান এর পর দেখুন কি অবস্থা হয়। কিছু টেক্সট এরিয়াতে কিছু হাবি জাবি লিখা চলে আসছে। আসুক সমস্যা নেই। এবার ১ম বক্স এ যেকোন নাম লিখুন আরদেখুন ম্যাজিক। বাহ কি সহজ।
কিন্তু আমার প্রোগ্রাম টা ভালভাবে চেক করলে সহজ মনে হবে না। মনের মধ্যে প্রশ্ন আসবে। কি প্রশ্ন আসতে পারে সেটা আমি বলে দিচ্ছি।
***এর আগে আমরা প্রথমে এইচটিএমএল এবং পরে পিএইচপি লিখেছিলাম। কিন্তু এবার আগে পিএইচপি আর পরে এইচটিএমএল লিখলাম কেন????
উত্তরঃ খেয়াল করুন এইচটিএমএল এর মধ্যে আমি ভ্যারিয়েবল ব্যবহার করেছি। প্রথমে আমরা ব্রাউজারকে বলে দিয়েছি $name এর মানে। তারপর এইচটিএমএল এ $name ব্যবহার করেছি। যদি আমরা আগে এইচটিএমএল ব্যবহার করতাম তাহলে আমরা $name কে ব্রাউজার চিনতে পারতনা। ফলে আমাদের দেয়া নাম টা প্রিন্ট হত না।
আরো যদি প্রশ্ন থাকে তাহলে কমেন্ট এর মাধ্যমে আমাকে জানাবেন। সমাধান দেবার চেষ্টা করব।
আজ অনেক লিখলাম এটাই ভাল ভাবে প্র্যাকটিস করুন। আর সবাই সাথেই থাকুন।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১৩] :: POST Method

0
COM

php
হ্যালো টিউনার ভাইয়ারা সবাই কেমন আছেন?? অনেক দিন পর টিউন টা করলাম। পরীক্ষার কারনে টিউন করতে পারিনি বেশ কিছু দিন ধরে তাই সবাইকে সরি। প্রথমে আমি কিছু কথা বলব যেগুলো আপনারা মনোযোগ দিয়ে পরবেন এবং আমার কি করা উচিত সেটা বলবেন প্লিজ।
আজ কাল টেকটিউনস এ পিএইচপি নিয়ে অনেক টিউটোরিয়াল হচ্ছে। কিছুদিন আগে দেখলাম একটা পিএইচপি নিয়ে করা টিউনের কমেন্টে বিরক্তি প্রকাশ করেছেন এত বেশি টিউন হবার কারনে। টিউন টি এখানে পাবেনঃ http://www.techtunes.com.bd/web-development/tune-id/148911
যদি আপনারা আমার টিউনগুলোতে বিরক্ত হয়ে থাকেন তাহলে আমাকে কমেন্ট করে জানাবেন। আর একটা কথা মাথায় রাখবেন সেটা হল কেউ টিউন করে অনেক টাকা পায়না। টিউন করে মানুষ যাতে সে যা যানে তা অন্যের সাথে শেয়ার করতে। সুতরাং কোন টিউন ভাল না লাগলে সেই টিউন কে এড়িয়ে চলুন। একটা টিউন করতে সময়লাগে ২-৩ ঘন্টা। আর একটা হতাশা জনক কমেন্ট করতে লাগে ২ মিনিট। মানে ২ মিনিটে আপনি একজন টিউনারের টিউন করার ইচ্ছা নষ্ট করে ফেললেন।
যাই হোক অনেক আজে বাজে কথা হল। এখন আমাদের মূল কাজে ফিরে আশা উচিৎ। গত পর্বে আমরা যে বিষয় নিয়ে আলচনা করেছিলাম সেটা হল পিএইচপি এর GET_Method আজ আমরা যে বিষয় নিয়ে আলোচনা করব সেটা হল POST_Method। দুইটা জিনিস এর কাজ ২ রকম। কিন্তু লিখার নিয়ম কিন্তু একই রকম।
GET_Method মেথডে মুলত আমনার দেয়া ইনফরমেশন গুলো ব্রাউজার এর অ্যাড্রেস বারে শো করে। কিন্তু পোষ্ট মেথডের ক্ষেত্রে আপনার দেয়া ইনফরমেশন গুলো ব্রাউজারে শো করবেনা। এটুকুই পার্থক্য। তাহলে গত পর্বের টিউটোরিয়াল এর প্রোগ্রাম দিয়েই তাহলে রান করানো যাক। আমি প্রোগ্রাম টাকে একটু এডিট করে দিলাম। কারন ২ লাইন এরর দেখতে আমারো ভাল লাগছে না। তাহলে চলুন প্রোগ্রাম লিখা যাক।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form action="tutorial.php" method="POST">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password">
 
    <input type="submit" value="login">
</form>
 
<?php
 
        if(isset($_POST['username'])&&isset($_POST['password'])&&!empty($_POST['username'])&&!empty($_POST['password'])){
        echo 'Thank you for login!!!';
        }
        else{
        echo'Please give me your username and password';
    }
?>
কিছু বুঝতে পারলেন??? না পারলে কোন সমস্যা নেই আমি তো আছিই। গত টিউটোরিয়ালে আমরা প্রথমে আমরা ২ টা ভ্যারিয়েবল তৈরি করেছিলাম। কিন্তু আজ আমরা কোন ভ্যারিয়েবল তৈরি না করেই সহজে কাজ টা করে ফেললাম। এটা কিভাবে হল প্রশ্ন মনে জাগতে পারে। যদি এরকম প্রশ্ন মনে জাগে তাহলে আপনার সর্ব প্রথমে আপনাদের আমার লিখা প্রোগ্রামের মানে টা জানতে হবে। আর নিজে নিজে প্রোগ্রামটার মানে বোঝার চেষ্টা করতে হবে। তাহলে কিভাবে আমি প্রোগ্রাম টা লিখেছি সেটা দেখা যাক।
প্রথমে আমি একটা ফ্রম তৈরি শুরু করেছি এবং ফ্রম টা কোন মেথডে দেখাবে সেটা লিখে দিয়েছি। তারপর আমরা username নামক একটা টেক্সট এরিয়া তৈরি করেছি। এবং এর নাম দিয়েছি ভ্যালু দিয়েছি "username"। ভ্যালু না বলে নামও বলতে পারেন। এর ইনপুট টাইপ দিয়েছি "text" মানে এখানে যা লিখবেন সেটাই শো করবে। তারপর তারপর আরেকটি বক্স তৈরিকরেছি password নামে। এবং এর ইনপুট টাইপ দিয়েছি "password" অর্থাৎ এখানে যা লিখবেন সেটা পাসওয়ার্ড এর মত(***********) শো করবে। এর পর সাবমিট বাটান তৈরি করেছি। তারপর ফ্রম এর এইচটিএমএল প্রোগ্রাম লিখা শেষ করেছি।
এবার পিএইচপি প্রোগ্রাম লিখার পালা। পিএইচপি প্রোগ্রামের পুরো মিনিং টা আমি নিচে দিলামঃ
" যদি সেট করা থাকে POST মেথডে username এবং যদি সেট করা থাকে POST মেথডে password এবং খালি না থাকে POST মেথডে username এবং খালি না থাকে POST মেথডে password তাহলে শো প্রিন্ট হবে Thank you for login!!!অন্যথায় প্রিন্ট হবে Please give me your username and password।
এবার আশা করি সবাই ক্লিয়ার। আর সবাই হয়ত বুঝতেই পারছেন কেন আমি ভ্যারিয়েবল লিখলাম না। না লিখার কারন হল প্রোগ্রাম টা লিখতে ভ্যারিয়েবলের কোন দরকার হয়নি। আগের টিউটোরিয়ালেও দরকার হত না। কিন্তু আপনারা যাতে ২ টা বিষয় ঠিক মত শিখতে পারেন তাই আমি ২ টা টিউটোরিয়াল ২ রকম করে করলাম। তারপরও যদি আপনাদের বোঝার সামান্য মাত্র সমস্যা হয় তাহলে কমেন্ট করে যানাবেন।
আজ মনে হয় টিউন টা অনেক ছোট হয়ে গেল। আমার কাল অঙ্ক পরীক্ষা তাই বেশি লিখতে পারলাম না। সবাই ভাল থাকবেন আর আমি আর টিউন করব কিনা সেটা এখন আপনাদের হাতে তুলে দিলাম। তাই দয়া করে কমেন করে আপনার মতা মত জানাবেন। আগামী পর্বে আমার দেখা হবে সেই পর্যন্ত সবাই ভাল থাকুন।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১২] :: GET Method

0
COM

php
হ্যালো টিউনার ভাইয়ারা কেমন আছেন সবাই ??? ভালই আছেন মনে হয়। আমিও ভালই আছি। প্র্যাক্টিস কেমন হচ্ছে আপনাদের??? আমার প্র্যাক্টিস খুব একটা ভাল হচ্ছে না। কারন কাল থেকে আমার পরীক্ষা। তবুও লিখতে বসলাম। গত পর্বে আমরা একটা খুব গুরুত্তপুর্ণ্য বিষয় নিয়ে আলোচনা করেছিলাম। সেটা হল function নিয়ে একেবারে ব্যসিক ধারনা। আজ আমরা আরেকটি গুরুত্তপুর্ণ্য বিষয় নিয়ে আলচনা করব।
আপনারা হয়তো অনেক ওয়েব সাইট ভিসিট করেছেন। অনেক ওয়েব সাইট আছে যেখানে লগিন করার পর আপনার ব্রাউজারে বেশ হাবি-যাবি লিখা চলে আসে। যেমন মনে করুন আপনার ইউজারনেম পাসওয়ার্ড ইত্যাদি ব্রাউজারের অ্যাড্রেস বারে দেখায়। আবার অনেক ওয়েব সাইট আছে যেখানে লগিন করার পর ব্রাউজারে কোন ইনফরমেশন শো করে না। এরকম একটা ওয়েব সাইট হল ফেসবুক। লগিন করার পর দেখবেন আপনার ব্রাউজার এর অ্যাড্রেস বারে শুধু facebook.com লিখাটাই শো করবে। প্রশ্ন হতে পারে কেন এরকম আলাদা আলাদা হয়। এর কারন পিএইচপি তে ইউজারের কাছে থেকে ইনফরমেশন নেবার ২ টা মেথড আছে।
মেথড ২ টা হল:
  • 1. get method
  • 2. post method
আজ আমরা get method নিয়ে আলোচনা করব।

GET method কি এবং কি কাজে লাগে????

আমরা সবাই ইউটিউবের কথা জানি। সেখানে দেখবেন প্রত্যেক টা ভিডিওর জন্য আলাদা আলাদা URL শো করে... কিন্তু একবার ভাবুনতো ইউটিউবের ওয়েব ডেভলপার রা কি প্রত্যেক টি ভিডিওর জন্য আলাদা আলাদা পেজ তৈরি করে??? উত্তরঃ না। আলাদা আলাদা করে পেজ তৈরিকরতে গেলে তাদের কত সময় লাগবে ভাবুন। আর ইউটিউবে প্রতিদিন লক্ষাধিক ভিডিও আপলোড হয়। তাহলে একদিনে কি এতগুলো পেজ তৈরি করা সম্ভব??? আসলে এটা অসম্ভব একটা ব্যাপার। তাহলে কিভাবে তারা এরকম কঠিন একটা কাজ সহজে করে??? এখানেই GET method এর কাজ। আমরা যখন ইউটিউবে কোন ভিডিওর উপর ক্লিক করি তখন তারা আমাদের ক্লিক করা থেকে ইনফরমেশন নেয় এবং সে অনুযায়ী ভিডিও আমাদের সামনে চলে আসে। আর ব্রাউজারের অ্যাড্রেস বারে বিভিন্ন হাবি জাবি লিখা দেয়। হয়ত আপনারা বুঝতে পেরেছেন GET method এর কাজ। আরো ভাল ভাবে বুঝতে একটা প্রোগ্রাম লিখাযাকঃ
1
2
3
4
5
6
<?php
    $username = $_GET['username'];
    $password = $_GET['password'];
 
    echo 'welcome '.$username.' your password is '.$password;
?>
প্রোগ্রামটাকে রান করান দেখুন তো কি আসে??? ২ লাইন এরর তারপর তৃতীয় লাইনে welcome your password is। বাস শেষ !!!! কিন্তু এরর আসল কেন??? এবার এই URL টা ব্রাউজারে লোড করান দেখি।
http://localhost/tutorial.php?username=techtunes&password=1234
(আমার ফাইল টা tutorial.php নামে সেভ করা আছে। তাই আমি http://localhost/tutorial.php ব্যবহার করেছি। আপনাদের যদি আলাদা নামে থাকে তাহলে সেই নামে রান করান। )
বাহ!! কি সুন্দরভাবে আমাদের ইউজারনেম এবং পাসওয়ার্ড টা শো করছে :) মানে ব্যাপারটা কি হল???
প্রথম প্রোগ্রামটাতে আমরা কোন ইউজারনেম আর পাসওয়ার্ড সেট করিনি তাই ২ লাইন এরর আসেছিল। কিন্তু এবার প্রোগ্রাম টা চেঞ্জ না করেই ব্রাউজারে কয়েকটা ইনফরমেশন দিয়েই প্রোগ্রামটাকে ঠিক করে ফেললাম। GET method টার মৌলিক ধারনা এরকমই। শুধু ব্যসিক ধারনা শিখলেই হবে ??? এবার কিছু এডভান্স ধারনা দেয়া যাক।
সবাইকে একটা প্রশ্ন করি। আমার প্রোগ্রাম টা এবং দেয়া URL টা কি সবার ১০০% সঠিক মনে হচ্ছে??? হ্যা এটা ১০০% সঠিক। কিন্তু এর মধ্যে একটা সমস্যা আছে। আমি কখনো শুনিনি বা দেখিনি যে কোন ওয়েব সাইটে রেজিঃ করতে শুধু URL ব্যবহার করতে হয়। সব খানেই কিছু ফাকা বক্স থাকে সেখানে সব ইনফরমেশন দিতে হয়। তারপর রেজিঃ বাটানে ক্লিক করলে আপনার দেয়া ইনফরমেশন টা স্টোর করে এবং সেখান থেকে GET method অনুযায়ী কিছু তথ্য ব্রাউজারের এড্রেসবারে শো করে। তাহলে এ ব্যাপারে কিছু প্রোগ্রাম লিখা যাক। আপনাদের সহজ ভাবে বুঝানোর জন্য আমি এখানে ২ টা ফাকা ঘর তৈরি করব। যেখানে আমি আমার তথ্য লিখব। কি করে ফাকা ঘর তৈরি করবেন এবং ইনফরমেশন নিয়ে সেখানে সবমিট বাটান তৈরিকরবেন সেটা আসলে আমাদের পিএইচপি এর কাজ না। এটা এইচটিএমএল দিয়ে করতে হবে।আমি প্রথম পর্বেই বলে ছিলাম পিএইচপি শিখতে এইচটিএমএল এর ব্যাসিক টা জানা খুব দরকার। তাহলে চলুন প্রোগ্রাম লিখাযাকঃ
1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="tutorial.php" method="GET">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password">
 
    <input type="submit" value="login">
</form>
 
<?php
    $username = $_GET['username'];
    $password = $_GET['password'];
 
    echo 'welcome '.$username.' your password is '.$password;
?>
হুম এবার একটি ফর্ম চলে আসছে। ইউজারনেম এবং পাসওয়ার্ড এর জন্য। এবার পেজ টা কে রিলোড করলে দেখতে পাবেন ২ লাইন এররর তারপর লিখা প্রিন্ট হয়েছে welcome your password is। এবার আমাদের যেকোন ইউজারনেম এবং পাসওয়ার্ড দিলেই আপনার ইউজার নেম এবং পাসওয়ার্ড প্রিন্ট হয়ে আসবে। এবং আপনার দেয়া তথ্য ব্রাউজারে শো করবে। এবার কিন্তু এররর থাকবেনা :)
বাহ!!! কত্ত সহজ :D এত সহজে পিএইচপি শিখে যাচ্ছি এটা ঠিক না। তাই এবার আরেকটু সহজ কাজ করাযাক। আমরা যখন আমাদের মুল প্রোগ্রাম টাকে রান করাচ্ছি মানে যখন http://localhost/tutorial.php টা রান করাচ্ছি তখন নিচের লাইনে welcome your password is লিখা টা শো করছে। কিন্তু আমরা চাচ্ছি যখন আমরা লগিনে কোন ইনফরমেশন দিব কেবল তখনি যেন আমাদের কাংখিত লিখা টা দেখায় তার আগে যেন না দেখায় তাহলে আমাদের যে টা ব্যবহার করতে হবে সেটা হল if-esle statement। দেখি কিভাবে ব্যবহার করব।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="tutorial.php" method="GET">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password">
 
    <input type="submit" value="login">
</form>
 
<?php
    $username = $_GET['username'];
    $password = $_GET['password'];
 
    if(isset($username)&&isset($password)){
    echo 'welcome '.$username.' your password is '.$password;
    }
?>
খেয়াল করুন আমি এখানে নতুন একটা স্টেটমেন্ট ব্যবহার করেছি সেটা হল isset। এটা নিয়ে বিস্তারিত লিখার কিছুই নাই। কারন এটা শুধু আমাদের ইনফরমেশন চেক করে। অর্থাৎ যদি সেখানে কোন ইনফরমেশন থাকে তাহলে লিখাটাকে প্রিন্ট করবে নাহলে করবে না এরকম ক্ষেত্রে isset ব্যবহার করা হয়।
এখন মনে করুন কেউ আমাদের ওয়েব সাইটে লগিন করার চেষ্টা করতেছে। কিন্তু ফর্ম এ কোন ইনফরমেশন দিচ্ছে না। তাহলেউ কি আমরা একি ভাবে welcome your password is টা প্রিন্ট করানো উচিৎ হবে??? মনে হয় না। সেখানে অন্যকোন মেসেজ শো করাতে হবে। যেমন যদি কেই আমাদের ওয়েব সাইটে লগিন করার সময় কোন ইনফরমেশন না দেয় তাহলে তাকে আমরা নতুন মেসেজ শো করাতে চাচ্ছি। আর সে মেসেজ টা হলঃ "Please give me your username and password"
তাহলে প্রোগ্রাম টা কেমন হবে??? এখানে আরেকটি নতুন অপারেটর ব্যবহার করব সেটা হল !empty। সবাই জানেন empty মানে খালি। তারমানে এটার কাজ হবে কোন ইনফরমেশন খালি আছে কিনা তা পরীক্ষা করা। !empty মানে খালি নয় (কারন আমি এখানে ! ব্যবহার করেছি) তাহলে প্রোগ্রাম লিখাযাক।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="tutorial.php" method="GET">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password">
 
    <input type="submit" value="login">
</form>
 
<?php
    $username = $_GET['username'];
    $password = $_GET['password'];
 
    if(isset($username)&&isset($password)&&!empty($username)&&!empty($password)){
    echo 'welcome '.$username.' your password is '.$password;
    }
    else{
    echo'Please give me your username and password';
    }
?>
if স্টেটমেন্ট টা আমি বুঝিয়ে দিচ্ছি একবার। আমি প্রোগ্রাম টার অর্থ বলার চেষ্টা করছিঃ
"যদি সেট করা থাকে ইউজারনেম এবং পাসওয়ার্ড এবং empty না থাকে ইউজারনেম এবং পাসওয়ার্ড তাহলে প্রিন্ট করা হবে welcome '.$username.' your password is '.$password। অন্যথায় প্রিন্ট করা হবে Please give me your username and password "
আমার মনে হয় এবার সবাই ১০০ % ক্লিয়ার। :)
আরেকটা প্রশ্ন আপনাদের মনে জাগতে পারে সেটা হল ২ লাইন এরররর আসছে কেন??? এররর আসার কারন হল। আমরা প্রোগ্রাম লিখার সময় কোন ইউজারনেম এবং পাসওয়ার্ড লিখিনি বা নিদ্রিষ্ট কোন ইউজারনেম সিলেক্ট করিনি তাই ইউজার নেম না পাওয়াতে ১ টা এরর আর পাসওয়ার্ড না পাওয়াতে আরেকটা এররর দেখাচ্ছে। আর যখন আমরা কোন ইউজারনেম এবং পাসওয়ার্ড দিচ্ছি তখন আর এররর শো করছে না।
বিঃদ্রঃ method লিখার সময় অবশ্যই সব গুলো অক্ষর বড় হাতের অক্ষরে লিখবেন। যেমন: GET, POST
তাহলে মূল কথা কি হল GET method এর ক্ষেত্রে আপনার দেয়া ইনফরমেশন গুলো ব্রাউজারে শো করবে।আজ মনে হয় অনেক শেখা হয়ে গেল। তাই আজ বড় করলাম না। সামনের দিন আরো ভাল ভাল টিউটোরিয়াল আপনাদের জন্য আনার চেষ্টা কর। সে পর্যন্ত সবাই ভাল থাকুন সুস্থ থাকুন।
সবাইকে ধন্যবাদ।

চলুন পিএইচপি শেখা যাক ধাপে ধাপে [পর্ব-১১] :: Concept of function

0
COM

php
হ্যালো টিনার সবাই কেমন আছেন?? আশা করি ভালই আছেন। আমিও ভাল আছি। কম্পিউটারে ভাইরাস এটাক করেছিল, সব ফরমেট দিয়েছিলাম তাই সব গুছিয়ে উঠতে সময় লাগল সেই জন্যই টিউন করতে পারিনি। আর সামনে বেশ কিছুদিন টিউন করতে পারবও না। কারন আমার পরীক্ষা। আমার কথা বাদ দিন আপনাদের কথা বলুন। কেমন হচ্ছে আপনাদের প্র্যাক্টিস। ভাল হলেই ভাল। না হলে বেশি বেশি প্র্যাক্টিস করে নিজের হাতটি পাকা করে নিন। না হলে আবার প্রথম থেকে শুরু করতে হবে কিন্তু। অনেক ভাউতা পেচাল হল এবাই কাজ শুরু করি।
গত পর্বে আমরা শিখেছিলাম for & foreach loop সম্পর্কে। আজ আমরা পিএইচপি তে সবচেয়ে গুরুত্তপুর্ন জিনিস টা শিখব আর সেটা হল function। পিএইচপি তে function আপনাদের এত পরিমান কাজে লাগবে আপনাদের একসময় এটাকে function এর কাজ বলেই মনে হতে পারে :D তাই মনোযোগ দিয়ে এই টিউটোরিয়াল টি পরবেন আর নিয়মিত প্র্যাক্টিস করবেন। নাহলে কিন্তু সমস্যা আপনি নিজেই বুঝতে পারবেন।
প্রথমে দেখি কিভাবে function কে কল করবেন । চলুন একটা প্রোগ্রাম লিখাযাক
1
2
3
4
5
6
<?php
    function taka(){
        echo'Taka poisa kisui nai!!!';
    }
    taka();
?>
খেয়াল করুন আমি প্রথমে taka নামের একটা function তৈরি করেছি। তারপর প্রথম বন্ধনী দিয়েছি (সেখানে কোন শর্ত প্রয়োগ করিনি কারন এখানে আমি লিখাটাকে প্রিন্ট করতে চাচ্ছিলাম), তারপর কি লিখা প্রিন্ট করবে সেটা দিতীয় বন্ধনীর মধ্যে লিখেছি। তারপর function টিকে কল করেছি taka() লিখে। সঙ্গে সঙ্গে আমারা যেটা প্রিন্ট করতে চাচ্ছি সেটা প্রিন্ট হয়ে গেছে। function লিখার ব্যসিক নিয়ম টা এরকমই। আপনারা বুঝতে পেরেছেন তো??? নাপারলে কমেন্ট বক্স ফাকাই আছে। যা করার করবেন :)
এবার এর কাজ সম্পর্কে কিছুটা ধারনা দেয়া যাক আপনাদেরকে। মনে করুন আপনারা ছোট বাচ্চাদের ওয়েব সাইট বানাতে চাচ্ছেন যেখানে এক-দুই করে গুনতে শিখানো হয়। মনে করুন একটা বাচ্চা আপনার ওয়েব সাইটে ঢুকল এবং সে ১ থেকে ১০০ পর্যন্ত গুনতে চাইল এবং তাই সে চাই যে ১ থেকে ১০০ পর্যন্ত স্ক্রিনে প্রিন্ট করা হোক। তাহলে বাবু টা ভ্যালু ১০০ সেট করল আর স্ক্রিনে ১ থেকে ১০০ পর্যন্ত প্রিন্ট হয়ে গেল। কিভাবে এই প্রোগ্রাম টা লিখবেন??? আর সবাইতো আর ১০০ পর্যন্ত দেখতে চাইবে না। অনেকে হয়ত ১০০০ পর্যন্ত প্রিন্ট করতে চাইবে তাহলে কি করবেন আপনি??? হুম এরকম ক্ষেত্রে function ব্যাবহার করা যেতে পারে। তাহলে চিলুন দেখি কিভাবে করা যাবে এরকম :)
1
2
3
4
5
6
7
8
<?php
    function number($num){
        for($num; $num>0; $num--){
        echo $num.'<br />';
        }
    }
    number(100);
?>
যখন function কে কল করবেন তখন বন্ধনীর মধ্যে যে মান দেবেন সেই মান অনুসারে নাম্বার প্রিন্ট হতে থাকবে। কত সহজ তাই না :)
কোন ওয়েব সাইটে যদি শুধু গুনতে শিখানো হয় তাহলে সেই ওয়েব সাইটে পাগলরাও আসবে না। আমরা যদি সেখানে যোগ, বিয়োগ, গুন, ভাগ করার মত ব্যবস্থা রাখি তাহলে হয়ত আমাদের ভিজিটর ৩ গুন হয়ে যাবে। তাহলে দেখা যাক কিভাবে function ব্যবহার করে যোগ, বিয়োগ, গুন, ভাগ করা যায় :)
যোগের জন্যঃ
1
2
3
4
5
6
7
8
<?php
    function jog($num1, $num2){
        $resunt=$num1+$num2;
        echo $resunt;
        }
 
    jog(100, 500);
?>
বিয়োগের জন্যঃ
1
2
3
4
5
6
7
8
<?php
    function biyog($num1, $num2){
        $resunt=$num1-$num2;
        echo $resunt;
        }
 
    biyog(100, 500);
?>
আপনারা হয়ত বুঝতেই পারছেন কিভাবে গুন এবং ভাগের জন্য আমরা function টা লিখতে পারি :)
এবার দেখাযাক সব প্রোগ্রাম একসাথে সব প্রোগ্রাম লিখি। মানে যোগ বিয়োগ গুন ভাল একসাথে লিখে শুধু কল করে যেকোন হিসাব বের করা শিখি।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
    function jog($num1, $num2){
        $resunt=$num1+$num2;
        echo $resunt.'<br />';
        }
 
    function biyog($num1, $num2){
        $resunt=$num1-$num2;
        echo $resunt.'<br />';
        }
    function guuun($num1, $num2){
        $resunt=$num1*$num2;
        echo $resunt.'<br />';
        }
    function vaag($num1, $num2){
        $resunt=$num1/$num2;
        echo $resunt.'<br />';
        }
 
        jog(100, 50);
        biyog(200, 30);
        guuun(5, 10);
        vaag(30, 5);
?>
আশা করি প্রোগ্রামের অর্থ টা সবাই বুঝতে পেরেছেন । আসলে না পারার কোন কারন নেই। খুবই সহজ একটা বিষয়। আজ অনেক জানা হল। আগামী পর্বে এরকম আরো গুরুত্তপুর্ন বিষয় নিয়ে আলোচনা করব। আজ এই পর্যন্তই সবাই ভাল থাকুন। ধন্যবাদ।।