know yourselves. information, computer, 7 wonders, various.

Tuesday, April 21, 2020

PHP_Part 14_পিএইচপি কুকি





পিএইচপি কুকি (PHP Cookies)
কুকি (Cookie )কি?
কুকি অধিকাংশ সময়ই একজন ইউজারকে সনাক্ত করতে ব্যবহৃত হয়। কুকি হলো ছোট একটি ফাইল যা কোনো সার্ভার ইউজারের কম্পিউটারের এমবেড করে দেয়। প্রতিবার একই ব্রাউজারের মাধ্যমে একটি পেইজের অনুরোধ পাঠালে তা কুকিকেও পাঠায়। PHP তে আপনি কুকির ভ্যালুকে তৈরি এবং পুনরুদ্ধার উভয়ই করতে পারবেন।

কুকি তৈরি
কুকি করার জন্য setcookie ( ) ফাংশন ব্যবহার করা হয়। setcookie ( ) ফাংশটির অবশ্যই <html> ট্যাগের পূর্বে লেখা হবে।
কুকি লেখার নিয়মটি হলঃ
Setcookie( name, value, expire, path, domain)
চলুন এবার একটি কুকি তৈরি করি। এজন্য নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
  1. htooes ফোল্ডারের মধ্যে থাকা বুক নামের ফোল্ডার ভেতর Cookie নামে একটি ফোল্ডার তৈরি করুন।
  2. ইতোমধ্যে আমরা পিএইচপি তে যেসব কাজ করেছি সেগুলোর মধ্যে থেকে যেকোনো একটি প্রজেক্ট কপি করে এই ফোল্ডারে এনে পেস্ট করুন।
  3. এবার ফাইলটিকে রিনেম করে এর নাম দিন user.php
  4. ফাইলটি ড্রিমওয়েভার বা নোটপ্যাডের খুলুন।
  5. এর একেবারে উপরে <html> ট্যাগের আগে নিচের কোডটুকু পেস্ট করুন।
<?php
setcookie("user", "Dupur Ashraf", time()+3600);
?>
  1. পুরো কোডটুকু দেখতে নিচের মতো হবে।
<?php
setcookie("user", "Dupur Ashraf", time()+3600);
?>
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "WelCome To NovaComputer  ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
?> </body> </html>
  1. ফাইলটি সেভ করুন।
  2. এই ফাইলে আমরা “Dupur Ashraf” ভ্যালুটিকে অ্যাসাইন করেছি। আপনি এই নামের বদলে আপনার জন্য প্রযোজ্য নাম অ্যাসাইন করুন। আমরা আরও নির্দিষ্ট করে দিয়েছি যে কুকিটি ১ ঘন্টা পরই মেয়াদহীন হয়ে পড়বে।
আপনি কুকিটির মেয়াদ উত্তীর্ণের সময়কে আরেকটি উপায়ে সেট করে দিতে পারেন। এটি সেকেন্ড ব্যবহারের চাইতে সহজ হবে। এক্ষেত্রে কুকি তৈরির কোডটুকুতে উপরের উদাহরণের অংশের বদলে নিচের কোডটুকু বসাতে হবেঃ
<?php
$expire=time()+60*60*24*30;
setcookie("user", "Dupur Ashraf", $expire);
?>
<html>
এই কোডের মাধ্যমে আমরা মেয়াদের সময়সীমা ১ মাস (60 sec * 60 min * 24 hours * 30 days) নির্ধারণ করেছি।

কুকি পুনরুদ্ধার করা
কোনো কুকির ভ্যালুকে পুনরুদ্ধারের জন্য $_COOKIE ভেরিয়েবলটি ব্যবহৃত হয়। চলুন একটি উদাহরণ দেখি। এজন্য নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
1.                 htdoes ফোল্ডারের মধ্যে থাকা PHPLESSON নামের ফোল্ডারের ভেতরের cookie ফোল্ডারটিতে user2.php নামের একটি ফাইল তৈরি করুন।
2.                ফাইলটি খুলে নিচের কোড গুলো লিখুন।
3.               ফাইলটি সেভ করুন।
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
  echo "Welcome guest!<br>";
?>
</body> </html>
4.                 এবার ব্রাউজারের অ্যাড্রেসবারে http://localhost/PHPLESSON/cookie/user2.php লিখে এন্টার চাপুন। ফলাফল দেখতে পাবেন।
5.                উপরের চিত্রের মতো একই ধরনের ফলাফল যে আপনার ব্রাউজারে দেখাবে তা নয় বরং আপনি যদি আপনার কুকি তৈরি করার সময় ভিন্ন কোনো নাম ব্যবহার করে থাকেন তবে সেটি প্রদর্শিত হবে।

যদি কোন কুকি সেট করা থাকে তবে তা বের করার জন্য আমরা isset ( ) ফাংশন ব্যবহার করতে পারি। এজন্য নিচের মতো কোডগুলো লিখে তা কোনো পিএইচপি ফাইল হিসেবে সংরক্ষণ করে ব্রাউজারে প্রদর্শন করে আপনি ফলাফল দেখতে পারেন।
কুকি মুছে ফেলা:
কুকি মুছে ফেলার আগে আপনাকে নিশ্চিত হতে হবে যে মেয়াদের সময়সীমা বিগত হয়েছে। কুকি ডিলিট করার কোড নিচে উল্লেখ করা হলো।
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
কোনো ব্রাউজার কুকিকে সমর্থন না করলে কি হবে?
যদি আপনার অ্যাপ্লিকেশনটি ব্রাউজার নিয়ে কাজ করে যা কুকিকে সমর্থন করে না তাহলে আপনাকে আপনার অ্যাপ্লিকেশেনের এক পেইজ থেকে অন্য পেইজে তথ্য পাঠাতে অন্যান্য পদ্ধতি ব্যবহার করতে হবে। একটি পদ্ধতি হলো তথ্যকে ফর্মের মাধ্যমে পাঠানো।
নিচের কোড টুকু দেখুন। ইউজার যখন “Submit” এ ক্লিক করবে তখন এই ফর্মটি ইউজার ইনপুটকে “Welcome,.php” নামক ফাইলে পাঠিয়ে দেবে।
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
আর পাসকৃত ভ্যালু ফিরে পেতে আপনাকে নিচের মত করে GET ()/POST () মেথড ব্যবহার করতে হবে।
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br>
You are <?php echo $_POST["age"]; ?> years old.
</body> </html>
পিএইচপি: ই-মেইল প্রেরণ:
PHP আপনাকে একটি স্ক্রিপ্ট থেকে সরাসরি ই-মেইল প্রেরণে সুযোগ দেবে।
PHP mail ( ) ফাংশন -PHP mail ( ) ফাংশন ই-মেইল প্রেরনের জন্য ব্যবহৃত হয়ে থাকে। এর সিনট্যাক্সটি হলোঃ

প্যারামিটার
বর্ণনা
to
ই-মেইল গ্রহীতা/গ্রহীতাদের নির্দিষ্ট করে, এটি আবশ্যক।
subject
ই-মেইলের বিষয়বস্ত্ত নির্দিষ্ট করে। নোটঃ এই প্যরামিটারটি কোনো নতুন লাইন ক্যারেক্টারসমূহ বহন করতে পারে না
message
 যে মেসেজটি প্রেরণ করা হবে সেটি নির্ধারণ করে। প্রতিটি লাইন একটি LF (n) দ্বারা পৃথক হতে হবে। লাইন ৭০ ক্যারেক্টারের বেশি অতিক্রম করা উচিত নয়।
headers
অ্যাডিশনার হেডারসমূহ, ফর্ম, Cc Bcc। অতিরিক্ত হেডারটি একটি CRLF (\r\n) দ্বারা পৃথক হওয়া উচিত।
parameters
সেন্ডমেইল প্রোগ্রামে একটি অ্যাডিশনাল প্যারামিটার নির্দিষ্ট করে ঐচ্ছিক।

মেইল ফাংশনটি পাওয়ার জন্য পিএইচপি কে একটি ইন্সটলকৃত এবং কার্যশীল ই-মেইল সিস্টেমের প্রয়োজন হয়। প্রোগ্রামটি ব্যবহৃত হওয়ার জন্য তা Php.ini ফাইলের কনফিগারেশন সেটিংস এর মাধ্যমে নির্ধারণ করা হয়।

সাধারণ পিএইচপি (PHP) ই-মেইল
PHP এর মাধ্যমে একটি ই-মেইল প্রেরণের সহজ উপায় হলো এটিকে একটি টেক্সট ই-মেইল পাঠানো। নিচের কোড টুকু দেখুন। এখানে ই-মেইল প্রেরণের উদ্দেশ্যে প্রথমে ভেরিয়েবলসহ ($to, $subject, $message, $from, $headers) ডিক্লেয়ার করে পরবর্তীতে ভেরিয়েবলগুলোকে mail ( ) ফাংশনের মধ্যে ব্যবহার করা হয়।
১.      আপনার এডিটর notepad++/Dreamweaver/Net beans ওপেন করুন।  নিচের কোড টুকু প্রাকটিস করুন
<?php
$to = "hira_shonkhochil@ymail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>


পিএইচপি (PHP) মেইল ফর্ম
PHP এর মাধ্যমে আপনি আপনার ওয়েব সাইটে একটি ফিডব্যাক ফর্ম তৈরি করতে পারেন যা থেকে সাধারন ব্যবহার করার মেইল প্রেরন।
নিচের উদাহণটি দেখুন।
1.                  htdoes ফ্লোল্ডারের মধ্যে PHPLESSON নামের ফোল্ডাটিতে PHP_Email002.php নামে একটি ফাইল তৈরি করুন।
2.                 ফাইলটিতে নিচের মতো কোড লিখুন।
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail("someone@example.com", $subject,
  $message, "From:" . $email);
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit'>
  </form>";
  }
?>
</body> </html>
ফাইলটি সেভ করুন।
3.                 ব্রাউজারের অ্যাডেসবারে http://localhost/PHPLESSON/PHP_Email002.php লিখে এন্টার চাপুন।
4.                   নিচের মতো ফলাফল দেখতে পাবেন।

5.                 উপরের কোন অনুযায়ী এই সিস্টেমটি প্রথমে দেখে নেবে ই-মেইল ইনপুট ফিল্ডটি পূর্ণ হয়ে গেছে কিনা। যদি তা না হয় (প্রথম যখন পেইজটি ভিজিট করা হবে সেই অবস্থার মতো) তবে ফর্মটির HTML আউটপুট দেবে। যদি এটি সেট হয়ে যায় (ফর্মটি পূরণ হয়ে যাবার পর) ই-মেইলটিকে ফর্ম থেকে প্রেরণ করবে। ফরমটি পূরণ করার পর যখন সাবমিট চাপা হবে তখন পেইজটি রিলোড হবে।

উপরের পদ্ধতিতে সহজ উপায়ে মেইল পাঠানো গেলেও এটি সুরক্ষিত নয়। অনুমোদিত ব্যবহারকারীরা এটির অনুপুট ফর্ম এর মাধ্যমে মেইলের হেডারে তথ্য সংযোজন করতে পারে। ফর্মের ই-মেইল ইনপুট ফিল্ডে যদি ব্যবহারকারীরা নিচের টেক্সগুলো যোগ করে তবে কেমন হবে বলুন তো?

mail( ) ফাংশন স্বভাবতই উপরের টেক্সটকে মেইল হেডারসমূহের ভেতর বসিয়ে নেবে এবং তখন হেডারের মধ্যে একটি বাড়তি Cc:, Bcc: এবং ফিল্ড থাকবে। ব্যবহারকারী যখন সাবমিট বাটনে ক্লিক করবে তখন ই-মেইলটি উপরের সবগুলো ঠিকানায় প্রেরিত হবে।
PHP secure Email
কেউ যেন আপনার ই-মেইলের সাথে নিজস্ব তথ্য সংযোজন বিয়োজন করতে না পারে অর্থাৎ আপনার ই-মেইলে ইনজেকশন বন্ধ করার জন্য সবচেয়ে ভালো উপায় হলো ইনপুটকে ভ্যালিডেট করা। একটি ইনপুট ভ্যারিডেটর যোগ করা হয়েছে যেটি ফর্মের মধ্যে ই-মেইল ফিল্ডকে পরীক্ষা করে দেখবে। নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
1.                 htdoes ফ্লোল্ডারের মধ্যে PHPLESSON নামের ফোল্ডাটিতে PHP_Email003.php নামে একটি ফাইল তৈরি করুন। ফাইলটিতে নিচের মত কোড লিখুন।
<html>
<body>
<?php
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);
  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }
if (isset($_REQUEST['email']))
  {//if "email" is filled out, proceed
  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST['email']);
  if ($mailcheck==FALSE)
    {
    echo "Invalid input";
    }
  else
    {//send email
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("someone@example.com", "Subject: $subject",
    $message, "From: $email" );
    echo "Thank you for using our mail form";
    }
  }
else
  {//if "email" is not filled out, display the form
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit'>
  </form>";
  }
?>
</body> </html>
2.                ফাইলটি সেভ করুন।
3.               ব্রাউজারের অ্যাড্রেসবারে ://localhost/PHPLESSON/PHP_Email003.php লিখে এন্টার দিন। আগের চেয়ে সুরক্ষিত কিন্তু একই রকম ফর্ম আসবে।


Previous Post                                                                                           Next Post

  বিস্তারিত জানতে নিচের বইটি সংগরহ করে নিন।

Book Name: Mastering Microsoft  Word
Writer: Bappi Ashraf
Published By: Gyankosh Prokashani
Amount of Pages: 464
First Publish: October-2004
Last Edition: We've February-2015 edition. Future edition may be existed!
Book Price: BDT 350 (30% Discount)
 The writer of this book has told that he has written this book with the concept of "teach yourself". On the other hand, Web Design is a thing which is interesting to learn. He has also told that the book is full of fan and enjoyment so that a person can learn Web Design by himself by playing with the example projects of this book.  Book's CD Link below... 

 cd

RELATED POST LINKS BELOW ********************************************

PART1 :- PHP কি, PHP ফাইল, XAMPP ইনস্টলেশন, ইনস্টলিং XAMPP

PART3:- Operator, Arithmetic Operator, অ্যাসাইনমেন্ট অপারেটর, ইনক্রিমিন্টিং বা ডিক্রিমেন্টিং অপারেটর, কম্পারিজন অপারেটর, লজিক্যাল অপারেটর, অ্যারে অপারেটর


PART 10
PART 11

Php এবং HTML ফর্ম, হ্যান্ডেলিং Php- ফরম, get মেথড, post মেথড, Php Date() ফাংশন, Date - ডেট ফরমেট করা, Date – টাইমস্ট্যাম্প, PHP Date / Time ফাংশন

PART 12

PART 13
Php ফাইল হ্যন্ডেলিং, ফাইল আপলোড, আপলোড-স্ক্রিপ্ট তৈরি করা, আপলোডের ক্ষেত্রে বিধি নিষেধ আরোপ, আপলোডকৃত ফাইলকে সেভ করা,
PART 14 পিএইচপি কুকি (PHP Cookies), কুকি (Cookie )কি, কুকি তৈরি, কুকি পুনরুদ্ধার করা, কুকি মুছে ফেলা, পিএইচপি: ই-মেইল প্রেরণ, PHP secure Email,