PHP-তে নতুন হওয়ায় কোডে বারবার bug আসে। স্বাভাবিক ব্যাপার। এখানে হতাশ না হয়ে সমাধানগুলো জানতে হবে। আমরা সাধারনত কমন কয়েকটি জায়গাতেই বারবার ভুল করি।
যার ফলে কোডের কার্যকারিতা ও সিকিউরিটিতে সমস্যা তৈরি করে। আজ গুগল, এআইও ও আমাদের এক্সপেরিয়েন্স থেকে ৫টি কমন মিসটেক দেখবো। একই সাথে সমাধান নিয়েও আলোচনা করবো। চলুন শুরু যাক।
১. ভ্যারিয়েবল ডিক্লারেশন ভুলে যাওয়া
নতুনদের মধ্যে সবচেয়ে কমন একটা ভুল হলো ভ্যারিয়েবল ডিক্লারেশন না করে ব্যবহার করা। এতে undefined variable error দেখা দেয়।
ভুল:
echo $name; // Undefined variable error
সঠিক সমাধান:
$name = "John Doe";
echo $name; // Output: John Doe
সবসময় ভ্যারিয়েবল ডিক্লার করে তারপর ব্যবহার করতে হবে। প্রায় সময়ই আমরা $ সাইন না দিয়েই লিখে ফেলি। এজন্যও এরর আসে।
২. == এবং === অপারেটরের পার্থক্য না বোঝা
অনেকেই == (double equals) এবং === (triple equals) অপারেটরের পার্থক্য না জেনে ব্যবহার করি। ফলে লজিকাল ভুল হয়।
ভুল:
$var = "10";
if ($var == 10) {
echo "Matched!";
}
এখানে == ব্যবহার করার কারণে টাইপ কনভার্শন হয়ে যাবে এবং Matched। প্রিন্ট হবে, যদিও $var স্ট্রিং।
সঠিক সমাধান (Strict Comparison ব্যবহার করুন):
$var = "10";
if ($var === 10) {
echo "Matched!";
} else {
echo "Not Matched!"; // Output: Not Matched!
}
এতে টাইপ চেকিং হবে এবং ভুল লজিক এড়ানো যাবে। আমাদের কোড এরর ফ্রি থাকবে।
৩. ইউজার ইনপুট ভেরিফাই না করা
অনেক নতুন ডেভেলপার ফর্ম ইনপুট নেওয়ার সময় ভ্যালিডেশন করেন না। ফলে SQL Injection বা XSS Attack হতে পারে।
ভুল:
$username = $_POST['username'];
echo "Welcome, $username";
এতে ইউজার স্ক্রিপ্ট ইনজেক্ট করতে পারে। সিকিউরিটি নষ্ট হয়ে যায়।
সঠিক সমাধান:
$username = htmlspecialchars($_POST[‘username’], ENT_QUOTES, ‘UTF-8’);
echo “Welcome, $username”;
এতে XSS অ্যাটাক প্রতিরোধ করা যাবে। আমাদের সাইট সুরক্ষিত থাকবে।
৪. Error Reporting চালু না রাখা
ডিফল্টভাবে অনেক সার্ভারে Error Reporting বন্ধ থাকে। ফলে নতুনরা সহজে সমস্যার কারণ বুঝতে পারে না।
ভুল:
// Error রিপোর্টিং বন্ধ রাখা
error_reporting(0);
এতে কোডে বাগ থাকলেও আপনি বুঝতে পারবেন না। কিন্তু প্রত্যাশিত রেজাল্টও আসবে না।
সঠিক সমাধান (ডেভেলপমেন্ট মোডে Error Reporting চালু রাখুন):
error_reporting(E_ALL);
ini_set('display_errors', 1);
এতে সব ধরনের error স্ক্রিনে শো করবে এবং ডিবাগিং সহজ হবে।
৫️. পাসওয়ার্ড প্লেইন-টেক্সটে সংরক্ষণ করা
আমরা অনেক সময় পাসওয়ার্ড প্লেইন-টেক্সটে ডাটাবেজে সংরক্ষণ করি। যা ভয়ানক ভুল। আবার উনার মতো “কি অপরাধ ছিলো আমার?” বলে বইসেন না
ভুল:
$password = $_POST['password'];
file_put_contents("passwords.txt", $password);
এতে ডাটাবেজ হ্যাক হলে সব পাসওয়ার্ড ফাঁস হয়ে যাবে!
সঠিক সমাধান (Password Hashing ব্যবহার করুন):
$hashed_password = password_hash($_POST['password'], PASSWORD_DEFAULT);
এটা ডিফল্ট এনক্রিপ্টেড পদ্ধতি। এতে পাসওয়ার্ড সিকিউর থাকবে এবং কেউ ডিক্রিপ্ট করতে পারবে না।
এইতো এই কমন মিসটেকগুলো আমরা নতুনরা প্রতিনিয়ত করে থাকি। তাই,
শেখার সময় এসব ভুল এড়িয়ে চললে আমাদের PHP কোড ক্লিন, ফাস্ট এবং সিকিউর হবে। আমরা নতুনদের জন্য সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো ভ্যালিডেশন করা, Error Reporting চালু রাখা এবং নিরাপত্তার বিষয়ে সচেতন থাকা।
আপনি কোন মিসটেকগুলো বার বার করেন? কমেন্টে জানান। আমরাও শিখে রাখি।