পিএইচপি এসকিউএল ওয়ার্ডপ্রেস জাভাস্ক্রিপ্ট জেকুয়েরি এইচটিএমএল
ফোরাম
×

পিএইচপি টিউটোরিয়াল

হোম-HOME পরিচিতি-Introduction ইনস্টল-Install গঠনপ্রনালী-Syntax চলক-Variable পিএইচপি Echo / Print তথ্যের ধরণ-Data Types কনস্ট্যান্ট-Constant অপারেটর-Operator ফাংশন-Function সুপারগ্লোভাল-Superglobal

কন্ট্রোল স্টেটমেন্ট

if স্টেটমেন্ট if...Else স্টেটমেন্ট Switch স্টেটমেন্ট While লুপ DO...While লুপ For লুপ

পিএইচপি এ্যারে এবং স্ট্রিং

এ্যারে-Array এ্যারে সর্টিং -Array Sorting মাল্টি এ্যারে-Multi Array স্ট্রিং-String

পিএইচপি এডভান্স

তারিখ এবং সময় পিএইচপি include ফাইল হ্যান্ডলিং-File Handling ফাইল খোলা/পড়া ফাইল তৈরি/লিখা ফাইল আপলোড ফাইল ডাউনলোড কুকি-Cookie সেশন-Session ফিল্টার-Filter এডভান্স ফিল্টার-Advance Filter এঁরর হ্যান্ডলিং-Error Handling এক্সেপশন হ্যান্ডেলিং-Exception Handling

পিএইচপি ফরম

ফরম হ্যান্ডলিং ফরম ভ্যালিডেশন আবশ্যক ফরম ফিল্ড ফরম URL/E-mail সম্পূর্ণ ফরম

MySQL ডেটাবেজ

MySQL ডেটাবেজ MySQL ডেটাবেজ সংযোগ MySQL ডেটাবেজ তৈরী MySQL টেবিল তৈরী MySQL তথ্য ইনসার্ট MySQL শেষ আইডি পান MySQL একাধিক তথ্য ইনসার্ট MySQL প্রিপেয়ার্ড স্টেটমেন্ট MySQL তথ্য সিলেক্ট MySQL তথ্য ডিলিট MySQL তথ্য আপডেট MySQL সীমিত তথ্য সিলেক্ট

পিএইচপি- এক্সএমএল

PHP XML Parser PHP SimpleXML Parser PHP XML Parser PHP SimpleXML - Get PHP XML Expat PHP XML Dom

পিএইচপি - এজাক্স

পিএইচপি AJAX পরিচিতি AJAX পিএইচপি AJAX ডেটাবেজ AJAX এক্সএমএল AJAX সারাসরি সার্চ AJAX RSS রির্ডার AJAX Poll

পিএইচপি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং(OOP)

OOP পরিচিতি OOP class তৈরী OOP objects তৈরী OOP $this কিওয়ার্ড OOP মেথড এবং প্রোপার্টি চেইনিং OOP অ্যাক্সেস মোডিফায়ার OOP ম্যাজিক মেথড এবং কন্সটেন্ট OOP ইনহেরিটেন্স OOP Abstract class এবং method OOP ইন্টারফেস OOP পলিমরফিজম OOP টাইপ হিন্টিং() OOP টাইপ হিন্টিনং ইন্টারফেস OOP স্ট্যাটিক মেথোড এবং প্রোপার্টি

 

পিএইচপি ফর্ম এর আবশ্যক ফিল্ডসমূহ


এই অধ্যায়ে আমরা দেখবো, কিভাবে একটি ইনপুট ফিল্ডকে আবশ্যক(required) করা হয় এবং প্রয়োজন অনুযায়ী error মেসেজ দেখানো যায়।


পিএইচপি আবশ্যক(required) ফিল্ড

পূর্বের অধ্যায়ে আমরা ভ্যালিডেশন রুলস টেবিলে দেখেছিলাম "নাম", "ই-মেইল" এবং "লিঙ্গ" আবশ্যক(required) ফিল্ড। এই ফিল্ডগুলো কখনোও খালি রাখা যাবে না। অর্থাৎ এইচটিএমএল ফর্ম এর এই ইনপুট ফিল্ডসমূহ অবশ্যই পূরন করতে হবে।

আমরা আবারো ইনপুট ফিল্ড এবং এদের লেভেল নিচের টেবিলে তুলে ধরলামঃ

ফিল্ড ভ্যালিডেশন রুলস
নাম আবশ্যক(required), এই ফিল্ডে শুধুমাত্র অক্ষর এবং স্পেস থাকতে পারবে।
ই-মেইল আবশ্যক(required), @ এবং .(ডট) চিহ্ন সহ অবশ্যই ভ্যালিড ইমেইল হতে হবে।
লিঙ্গ আবশ্যক(required), অবশ্যই যোকোনো একটি রেডিও বাটন সিলেক্ট করতে হবে।
মেসেজ ঐচ্ছিক(optional), অনেক লাইনের ইনপুট ফিল্ড(textarea)।

পূর্ববর্তী অধ্যায়ে সকল ইনপুট ফিল্ড-ই ঐচ্ছিক (optional) ছিল।

ভ্রান্তিসমূহ(errors) স্টোর এবং প্রদর্শনীর জন্য নিচের পিএইচপি কোড-এ আমরা কিছু নতুন ভ্যারিয়েবল $nameErr, $emailErr এবং $genderErr যোগ করেছি।

এই এরর ভ্যারিয়েবলগুলো যথাক্রমে আবশ্যক ফিল্ডসমূহের জন্য error মেসেজ ধারণ করে। এছাড়া প্রত্যেক $_POST ভ্যারিয়েবলের জন্য আমরা কন্ডিশনাল if else স্টেটমেন্টও যোগ করেছি। যার মাধ্যমে আমরা শর্তের উপর ভিত্তিকরে কোড সম্পাদন করতে পারি।

এই কন্ডিশনাল স্টেটমেন্টটি প্রথমেই পিএইচপি empty() ফাংশন এর মাধ্যমে $_POST ভ্যারিয়েবল এর ভ্যালু ফাকা কিনা চেক করবে। যদি ফাঁকা হয় তাহলে error মেসেজগুলো শংশ্লিষ্ট error ভ্যারিয়েবল এর মধ্যে জমা হয়।

ফর্ম ভ্যালিডেশনে ব্যবহৃত পিএইচপি কোডঃ
<?php
// ফাঁকা এরর ভ্যারিয়েবল ডিফাইন
$nameErr = $emailErr = $genderErr = "";
$name = $email = $gender = $messege = "";

// ফর্ম এর ডেটা সংগ্রহ 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 // ইনপুট ফিল্ডসমূহ ফাঁকা কিনা চেক করে সিদ্ধান্ত নেওয়া 
  if (empty($_POST["name"])) {
    $nameErr = "নাম অবশ্যই পূরন করতে হবে";
  } else {
    $name = verify_input($_POST["name"]);
  }

  if (empty($_POST["email"])) {
    $emailErr = "ইমেইল অবশ্যই পূরন করতে হবে";
  } else {
    $email = verify_input($_POST["email"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "লিঙ্গ অবশ্যই পূরন করতে হবে";
  } else {
    $gender = verify_input($_POST["gender"]);
  }

	if (empty($_POST["messege"])) {
		$messege = "";
	} else {
		$messege = verify_input($_POST["messege"]);
	}
}
//ইনপুট ফিল্ডের ভ্যালুসমূহ  যাচাই করা। 
function verify_input($data) {
	$data = trim($data);
	$data = stripslashes($data);
	$data = htmlspecialchars($data);
	return $data;
}
?>

পিএইচপি Error মেসেজ ব্রাউজারে দেখানো

তারপরে এইচটিএমএল ফর্মের মধ্যে প্রত্যেক আবশ্যক ইনপুট ফিল্ড এর পরে আমরা কিছু অতিরিক্ত কোড লিখেছি। যার মাধ্যমে প্রয়োজন অনুযায়ী সঠিক error মেসেজ দেখানো যায়।

যেমন- যদি কোনো ইউজার ফর্মের আবশ্যক ফিল্ড পূরন না করেই ফর্ম সাবমিট করে তাহলে এই অতিরিক্ত কোডসমূহ তাকে এররে দেখাবেঃ

উদাহরণ
<!DOCTYPE html>
<html>
    <head>
        <title>পিএইচপি উদাহরণ</title>
    </head>
    <body>
        <h2>পিএইচপি ফর্ম ভ্যালিডেশন উদাহরণ</h2>


        //তথ্য ইনপুট দেওয়ার জন্য এইচটিএমএল ফর্ম
        <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
            নামঃ <input type="text" name="name">
                <span class="error">* <?php echo $nameErr;?></span>
                <br><br>
            ই-মেইলঃ <input type="text" name="email">
                <span class="error">* <?php echo $emailErr;?></span>
                <br><br>
            লিঙ্গঃ <input type="radio" name="gender" value="male">পুরুষ
                <input type="radio" name="gender" value="female">মহিলা
                <span class="error">* <?php echo $genderErr;?></span>
                <br><br>
            মেসেজঃ <textarea name="messege" rows="5"cols="40"></textarea>
                <br><br>
                <input type="submit" name="submit" value="Submit">
        </form>

    </body>
</html>

ফলাফল

এর পরের ধাপে ইনপুট ডাটাকে আরও ভালভাবে ভ্যালিড করা হবে। অর্থাৎ name ফিল্ড-এ শুধুমাত্র অক্ষর এবং স্পেস ইনপুট দিয়েছে কিনা এবং email ফিল্ড এ ই-মেইল এড্রেস এর সঠিক সিনট্যাক্স ব্যবহার করেছে কিনা চেক করা হবে।