Difference between revisions of "PHP-and-MySQL/C4/User-Password-Change-Part-2/Bengali"
From Script | Spoken-Tutorial
(Created page with '{| border=1 !Time !Narration |- |0:00 |“Change Password” টিউটোরিয়াল-এর দ্বিতীয় ভাগে আপনাকে স্বাগত…') |
|||
Line 1: | Line 1: | ||
{| border=1 | {| border=1 | ||
− | + | |'''Time''' | |
− | + | |'''Narration''' | |
|- | |- | ||
− | | | + | |00:00 |
− | | | + | |Change Password টিউটোরিয়ালের দ্বিতীয় ভাগে আপনাকে স্বাগত। আগের অংশে, ফর্ম submit হয়েছে কিনা তা পরীক্ষা করা দেখেছি। |
|- | |- | ||
− | | | + | |00:09 |
− | | এখানে আমাদের তথ্য মানগুলি | + | | এখানে আমাদের তথ্য মানগুলি রয়েছে। |
|- | |- | ||
− | | | + | |00:13 |
− | |মনে রাখবেন আমাদের | + | |মনে রাখবেন আমাদের ডেটাবেসে আমাদের পাসওয়ার্ড encrypt থাকে। |
|- | |- | ||
− | | | + | |00:18 |
− | | | + | |সুতরাং যেই এই ফীল্ড ভিতরে আসে, আমি সেটি md 5 hash দ্বারা encrypt করব। |
|- | |- | ||
− | | | + | |00:27 |
− | |এই | + | |এই বন্ধনীগুলি দিতে ভুলবেন না। |
|- | |- | ||
− | | | + | |00:35 |
− | |এখানে আমি আমাদের | + | |এখানে আমি আমাদের প্যারামিটার চিহ্নিত করে রেখেছি। |
|- | |- | ||
− | | | + | |00:38 |
− | | | + | |তাই এখানে আমাদের md5 encrypt করা পাসওয়ার্ড থাকবে। |
|- | |- | ||
− | | | + | |00:43 |
− | |এগুলির অস্তিত্ব আছে কিনা দেখতে আমাদের এই | + | |এগুলির অস্তিত্ব আছে কিনা দেখতে আমাদের এই ফীল্ড যাচাই করতে হবে। |
|- | |- | ||
− | | | + | |00:51 |
− | |এখন | + | |এখন যেই আমরা ফর্ম submit করছি, আমরা কিছুই হতে দেখছি না। |
|- | |- | ||
− | | | + | |00:57 |
− | | | + | |প্রথমে আমি লিখব “check password against db” এবং তারপর আমাদের ডেটাবেসে জুড়তে হবে। |
|- | |- | ||
− | | | + | |01:08 |
− | |আমরা আগেই বেস কিছু পৃষ্ঠায় | + | |আমরা আগেই বেস কিছু পৃষ্ঠায় ডেটাবেসের সাথে জুড়েছি - যেমন login পৃষ্ঠা। |
|- | |- | ||
− | | | + | |01:15 |
− | |আপনি এটিকে | + | |আপনি এটিকে আপনার একবার লগইন করা স্ক্রিপ্টের সাথে “include” এবং ” include connect .php” নামক আলাদা ফাইলে রাখতে পারেন, যাতে আপনাকে এটি লিখতে না হয়। |
|- | |- | ||
− | | | + | |01:29 |
− | |কিন্তু আমাদের | + | |কিন্তু আমাদের টিউটোরিয়ালে, ভালোভাবে শেখানোর জন্য আমি এটি বারবার লিখব। |
|- | |- | ||
− | | | + | |01:35 |
|এখানে আমি লিখব - "connect = mysql_connect". | |এখানে আমি লিখব - "connect = mysql_connect". | ||
|- | |- | ||
− | | | + | |01:40 |
− | | | + | |আমরা এখানে ইউসারনেম root এবং পাসওয়ার্ড সহ local host ডেটাবেসের সাথে যুক্ত হব, আমি আমার ডেটাবেস চয়ন করতে যাচ্ছি। |
|- | |- | ||
− | | | + | |01:50 |
− | | | + | |সুতরাং এখানে “phplogin” রয়েছে। এখানে যান এবং আপনি এটি এখানে দেখতে পড়েন। |
|- | |- | ||
− | | | + | |01:58 |
− | | | + | |টেবিল "users" কে আমরা পরে ব্যবহার করতে পারি। |
|- | |- | ||
− | | | + | |02:01 |
− | |এরপর | + | |এরপর পাসওয়ার্ডগুলি পেতে একটি query বানাবো। |
|- | |- | ||
− | | | + | |02:05 |
− | | | + | |এখন লিখি “ query get” যা "mysql_query" এর সমান এবং এখানে লিখব "SELECT password" - আমাদের ডেটাবেস "users" থেকে পাসওয়ার্ডটি জানতে হবে। |
|- | |- | ||
− | | | + | |02:26 |
− | |আপনি এখানে দেখতে | + | |আপনি এখানে দেখতে পারেন। এটি "users" টেবিল। |
|- | |- | ||
− | | | + | |02:31 |
− | |তারপর আমরা লিখব “Where username is equal to user” | + | |তারপর আমরা লিখব “Where username is equal to user”. এটি ইউসারের user name ধারিত সেশন ভ্যারিয়েবল। |
|- | |- | ||
− | | | + | |02:39 |
− | | | + | |তাই আমরা কি করছি যে আমরা এই টেবিল থেকে পাসওয়ার্ড হ্যাশ নির্বাচন করছি যেখানে ইউসারনেম সেশননেমের সমান এবং এটি “Alex” এর সমান। |
|- | |- | ||
− | | | + | |02:49 |
− | | | + | |এটি একটি সফল ক্যোয়ারী হওয়া উচিত। আপনি শেষে কিছু এরর ম্যাসেজ লিখতে পারেন - “ or die "Query didn’t work”". |
|- | |- | ||
− | | | + | |02:59 |
− | | | + | |আপনি এই এরর ম্যাসেজের সাথে একটু কল্পনাপ্রবণ হতে পারেন এবং আপনার ইচ্ছেমত লিখতে পারেন। |
|- | |- | ||
− | | | + | |03:08 |
− | | | + | |একইভাবে আপনি এখানে লিখতে পারেন “or die”. আপনি এখানে আপনার এরর ম্যাসেজ জুড়তে পারেন, কিন্তু সময় বাঁচাতে আমি এখনই এটি করছি না। |
|- | |- | ||
− | | | + | |03:17 |
− | | | + | |এখন আমরা এর ব্যবহার একটু ভিন্নভাবে করব, এর আগে যে আমরা ডাটাবেসে প্রতিটি রেকর্ডের মাধ্যমে "while" ফাংশন দ্বারা লুপ ব্যবহার করি। |
|- | |- | ||
− | | | + | |03:25 |
− | | | + | |আমি এই পদ্ধতি সম্পর্কে কারোর মন্তব্য দ্বারা সূচিত হয়েছি। আমি লিখব "row = mysql_fetch_associative" এবং এখানে "query get" রয়েছে। |
|- | |- | ||
− | | | + | |03:41 |
− | | | + | |আমরা “old password db” সেট করব যা একটি নতুন ভ্যারিয়েবলের নাম। পুরানো পাসওয়ার্ডের সাথে এই ভুল করবেন না যা লেখা হয়েছে। |
|- | |- | ||
− | | | + | |03:50 |
− | | | + | |ডাটাবেসের ভিতরে আমাদের পুরানো পাসওয়ার্ড আমাদের রো এর সমান হবে। |
|- | |- | ||
− | | | + | |03:55 |
− | |মনে রাখবেন এটি একটি array | + | |মনে রাখবেন এটি একটি array বানায়। |
|- | |- | ||
− | | | + | |03:58 |
− | | | + | |অর্থাৎ value হল ” password”, কারণ এখানে আমাদের ডেটাবেসে এটি হল password. আপনাকে লেবেলস ব্যবহার করতে হবে। |
|- | |- | ||
− | | | + | |04:06 |
− | | | + | |এখান থেকে আমরা আমাদের পাসওয়ার্ড যাচাই করতে পারি। |
|- | |- | ||
− | | | + | |04:08 |
− | | | + | |আমাদের পুরনো পাসওয়ার্ড এবং নতুন পাসওয়ার্ড যাচাই করা একটি সহজ if স্টেটমেন্ট। |
|- | |- | ||
− | | | + | |04:16 |
− | | | + | |ডেটাবেসে লিখুন - if 'old password' is equal to 'old password. |
|- | |- | ||
− | | | + | |04:25 |
− | |এগুলি | + | |এগুলি দুটিই হল md5 hashes কারণ আমি আগে এগুলিকে md5 hash -এ বদলেছিলাম। |
|- | |- | ||
− | | | + | |04:30 |
− | | | + | |তাই তারা সমান হলে, কোডের এই অংশ রান করব, না হলে পৃষ্ঠাটি নষ্ট করে দেবো এবং লিখব ” Old password doesn’t match!”. |
|- | |- | ||
− | | | + | |04:44 |
− | | | + | |তাই এখানে ধরি যে আমরা প্রমাণীকরণের প্রথম পর্যায় পার করেছি, আমরা ডাটাবেসে পুরানো পাসওয়ার্ড পুরানো পাসওয়ার্ড দ্বারা যাচাই করেছি। এখন আমাদের দুটি নতুন পাসওয়ার্ড যাচাই করতে হবে। |
|- | |- | ||
− | | | + | |04:57 |
− | | | + | |এখন লিখুন “if new password is equal to repeat new password, তারপর আমরা কোডের ব্লক বানাতে পারি, অন্যথায় আমরা পৃষ্ঠা নষ্ট করতে পারি এবং লিখতে পারি “ New passwords don’t match!” |
|- | |- | ||
− | | | + | |05:20 |
− | | | + | |এখানে “success” রয়েছে এবং তারপর আমরা লিখব “change password in database”. |
|- | |- | ||
− | | | + | |05:31 |
− | | | + | |এখন আমি কি করব যে “success” ইকো করব এবং আমি আমার পৃষ্ঠায় ফেরৎ যাবো। |
|- | |- | ||
− | | | + | |05:38 |
− | |আমি ইছে | + | |আমি ইছে করে পাসওয়ার্ড ভুল লিখব, তাই এটি লিখি। |
|- | |- | ||
− | | | + | |05:41 |
− | |নতুন পাসওয়ার্ড হিসাবে লিখব "abc" এবং তারপর | + | |নতুন পাসওয়ার্ড হিসাবে লিখব "abc" এবং তারপর “change password” ক্লিক করলে দেখি যে "Old password doesn’t match!". |
|- | |- | ||
− | | | + | |05:49 |
− | |আমি | + | |আমি পুরানো পাসওয়ার্ড হিসাবে "abc" লিখলে যা হল এটি এবং নতুন পাসওয়ার্ড হিসাবে "123" এবং এরপর এলোমেলো কিছু লিখি, তাহলে আমাদের পাওয়া উচিত Oh "Old password doesn’t match!" |
|- | |- | ||
− | | | + | |06:00 |
− | |ফিরে গিয়ে কোড | + | |ফিরে গিয়ে কোড যাচাই করুন। Old password......... row - password............ query get........ |
|- | |- | ||
− | | | + | |06:13 |
− | |debug | + | |এখানে debug করতে আমি শেষে একটি ব্রেক দিয়ে লিখতে পারি “echo old password db”, এছাড়া আরেকটি ব্রেক দিয়ে লিখি echo old password. |
|- | |- | ||
− | | | + | |06:31 |
− | | | + | |এখন আমরা কী করতে পারি যে স্ক্রিপ্ট আবার রান করি। তাই পুরানো পাসওয়ার্ড "abc" এর সমান, নতুন পাসওয়ার্ড "123" এর সমান এবং তারপর কিছু এলোমেলো অক্ষর লিখতে পারি। |
|- | |- | ||
− | | | + | |06:44 |
− | | | + | |এগুলি তুলনা করি. তারা একই দেখাচ্ছে, আমরা দেখি যে এখানে একটি সমস্যা পেয়েছি। |
|- | |- | ||
− | | | + | |06:50 |
− | |কোড পুনরায় | + | |কোড পুনরায় যাচাই করি. বানানগুলি দেখুন। |
|- | |- | ||
− | | | + | |07:15 |
− | | | + | |ঠিক আছে, সমস্যাটি বোঝা গেছে। আমি ডেটাবেসে ফিরে গেলে দেখি যে আমি নিজেই এই মানটি যোগ করেছিলাম এবং এর শেষে এই শূন্য স্থানটি বানিয়েছিলাম, এটি নীল রঙে লক্ষণীয় হবে - আমি এটি চট করে মুছে দেবো এবং আমার পৃষ্ঠায় ফেরৎ যাবো। |
|- | |- | ||
− | | | + | |07:33 |
− | |আমি আগের মত লগইন করব এবং আমার পাসওয়ার্ড | + | |আমি আগের মত লগইন করব এবং আমার পাসওয়ার্ড বদলাবো, আমি পুরানো পাসওয়ার্ড সঠিকভাবে লিখব এবং দুটি নতুন পাসওয়ার্ডের স্থানে এলোমেলো কিছু লিখব। |
|- | |- | ||
− | | | + | |07:45 |
− | |দেখুন, আমার | + | |দেখুন, আমার নতুন পাসওয়ার্ড দুটি মিলছে না। |
|- | |- | ||
− | | | + | |07:49 |
− | |আমি এটি আগেই দেখিয়েছি, | + | |আমি এটি আগেই দেখিয়েছি, তাই এখন আমি এটি মুছতে পারি। |
|- | |- | ||
− | | | + | |07:53 |
− | |আমাদের পাসওয়ার্ড | + | |আমাদের পাসওয়ার্ড দুটি মিলছে ধরে নিয়ে, একটি success message দেখানো যাক। |
|- | |- | ||
− | | | + | |07:58 |
− | | | + | |তাই এগুলি মুছে ফেলি। আমি এগুলি debug করতে রাখি। |
|- | |- | ||
− | | | + | |08:02 |
− | |আমি | + | |আমি আমার পুরানো পাসওয়ার্ড, নতুন পাসওয়ার্ড 123 এবং 123 লিখব, Change password ক্লিক করব এবং আমরা সফল হয়েছি। |
|- | |- | ||
− | | | + | |08:10 |
− | |শেষের ভুলটির জন্য আমাকে | + | |শেষের ভুলটির জন্য আমাকে ক্ষমা করবেন। |
|- | |- | ||
− | | | + | |08:18 |
− | |এই | + | |এই টিউটোরিয়ালের তৃতীয় অংশে আমরা ইউসারের পাসওয়ার্ড আপডেট করা চালিয়ে যাবো এবং দেখে নেবো সব ঠিকমত কাজ করছে কিনা। |
|- | |- | ||
− | | | + | |08:29 |
− | | | + | |এই টিউটোরিয়ালে অংশগ্রহণের জন্য ধন্যবাদ। শুভবিদায়। |
Latest revision as of 19:56, 6 March 2017
Time | Narration |
00:00 | Change Password টিউটোরিয়ালের দ্বিতীয় ভাগে আপনাকে স্বাগত। আগের অংশে, ফর্ম submit হয়েছে কিনা তা পরীক্ষা করা দেখেছি। |
00:09 | এখানে আমাদের তথ্য মানগুলি রয়েছে। |
00:13 | মনে রাখবেন আমাদের ডেটাবেসে আমাদের পাসওয়ার্ড encrypt থাকে। |
00:18 | সুতরাং যেই এই ফীল্ড ভিতরে আসে, আমি সেটি md 5 hash দ্বারা encrypt করব। |
00:27 | এই বন্ধনীগুলি দিতে ভুলবেন না। |
00:35 | এখানে আমি আমাদের প্যারামিটার চিহ্নিত করে রেখেছি। |
00:38 | তাই এখানে আমাদের md5 encrypt করা পাসওয়ার্ড থাকবে। |
00:43 | এগুলির অস্তিত্ব আছে কিনা দেখতে আমাদের এই ফীল্ড যাচাই করতে হবে। |
00:51 | এখন যেই আমরা ফর্ম submit করছি, আমরা কিছুই হতে দেখছি না। |
00:57 | প্রথমে আমি লিখব “check password against db” এবং তারপর আমাদের ডেটাবেসে জুড়তে হবে। |
01:08 | আমরা আগেই বেস কিছু পৃষ্ঠায় ডেটাবেসের সাথে জুড়েছি - যেমন login পৃষ্ঠা। |
01:15 | আপনি এটিকে আপনার একবার লগইন করা স্ক্রিপ্টের সাথে “include” এবং ” include connect .php” নামক আলাদা ফাইলে রাখতে পারেন, যাতে আপনাকে এটি লিখতে না হয়। |
01:29 | কিন্তু আমাদের টিউটোরিয়ালে, ভালোভাবে শেখানোর জন্য আমি এটি বারবার লিখব। |
01:35 | এখানে আমি লিখব - "connect = mysql_connect". |
01:40 | আমরা এখানে ইউসারনেম root এবং পাসওয়ার্ড সহ local host ডেটাবেসের সাথে যুক্ত হব, আমি আমার ডেটাবেস চয়ন করতে যাচ্ছি। |
01:50 | সুতরাং এখানে “phplogin” রয়েছে। এখানে যান এবং আপনি এটি এখানে দেখতে পড়েন। |
01:58 | টেবিল "users" কে আমরা পরে ব্যবহার করতে পারি। |
02:01 | এরপর পাসওয়ার্ডগুলি পেতে একটি query বানাবো। |
02:05 | এখন লিখি “ query get” যা "mysql_query" এর সমান এবং এখানে লিখব "SELECT password" - আমাদের ডেটাবেস "users" থেকে পাসওয়ার্ডটি জানতে হবে। |
02:26 | আপনি এখানে দেখতে পারেন। এটি "users" টেবিল। |
02:31 | তারপর আমরা লিখব “Where username is equal to user”. এটি ইউসারের user name ধারিত সেশন ভ্যারিয়েবল। |
02:39 | তাই আমরা কি করছি যে আমরা এই টেবিল থেকে পাসওয়ার্ড হ্যাশ নির্বাচন করছি যেখানে ইউসারনেম সেশননেমের সমান এবং এটি “Alex” এর সমান। |
02:49 | এটি একটি সফল ক্যোয়ারী হওয়া উচিত। আপনি শেষে কিছু এরর ম্যাসেজ লিখতে পারেন - “ or die "Query didn’t work”". |
02:59 | আপনি এই এরর ম্যাসেজের সাথে একটু কল্পনাপ্রবণ হতে পারেন এবং আপনার ইচ্ছেমত লিখতে পারেন। |
03:08 | একইভাবে আপনি এখানে লিখতে পারেন “or die”. আপনি এখানে আপনার এরর ম্যাসেজ জুড়তে পারেন, কিন্তু সময় বাঁচাতে আমি এখনই এটি করছি না। |
03:17 | এখন আমরা এর ব্যবহার একটু ভিন্নভাবে করব, এর আগে যে আমরা ডাটাবেসে প্রতিটি রেকর্ডের মাধ্যমে "while" ফাংশন দ্বারা লুপ ব্যবহার করি। |
03:25 | আমি এই পদ্ধতি সম্পর্কে কারোর মন্তব্য দ্বারা সূচিত হয়েছি। আমি লিখব "row = mysql_fetch_associative" এবং এখানে "query get" রয়েছে। |
03:41 | আমরা “old password db” সেট করব যা একটি নতুন ভ্যারিয়েবলের নাম। পুরানো পাসওয়ার্ডের সাথে এই ভুল করবেন না যা লেখা হয়েছে। |
03:50 | ডাটাবেসের ভিতরে আমাদের পুরানো পাসওয়ার্ড আমাদের রো এর সমান হবে। |
03:55 | মনে রাখবেন এটি একটি array বানায়। |
03:58 | অর্থাৎ value হল ” password”, কারণ এখানে আমাদের ডেটাবেসে এটি হল password. আপনাকে লেবেলস ব্যবহার করতে হবে। |
04:06 | এখান থেকে আমরা আমাদের পাসওয়ার্ড যাচাই করতে পারি। |
04:08 | আমাদের পুরনো পাসওয়ার্ড এবং নতুন পাসওয়ার্ড যাচাই করা একটি সহজ if স্টেটমেন্ট। |
04:16 | ডেটাবেসে লিখুন - if 'old password' is equal to 'old password. |
04:25 | এগুলি দুটিই হল md5 hashes কারণ আমি আগে এগুলিকে md5 hash -এ বদলেছিলাম। |
04:30 | তাই তারা সমান হলে, কোডের এই অংশ রান করব, না হলে পৃষ্ঠাটি নষ্ট করে দেবো এবং লিখব ” Old password doesn’t match!”. |
04:44 | তাই এখানে ধরি যে আমরা প্রমাণীকরণের প্রথম পর্যায় পার করেছি, আমরা ডাটাবেসে পুরানো পাসওয়ার্ড পুরানো পাসওয়ার্ড দ্বারা যাচাই করেছি। এখন আমাদের দুটি নতুন পাসওয়ার্ড যাচাই করতে হবে। |
04:57 | এখন লিখুন “if new password is equal to repeat new password, তারপর আমরা কোডের ব্লক বানাতে পারি, অন্যথায় আমরা পৃষ্ঠা নষ্ট করতে পারি এবং লিখতে পারি “ New passwords don’t match!” |
05:20 | এখানে “success” রয়েছে এবং তারপর আমরা লিখব “change password in database”. |
05:31 | এখন আমি কি করব যে “success” ইকো করব এবং আমি আমার পৃষ্ঠায় ফেরৎ যাবো। |
05:38 | আমি ইছে করে পাসওয়ার্ড ভুল লিখব, তাই এটি লিখি। |
05:41 | নতুন পাসওয়ার্ড হিসাবে লিখব "abc" এবং তারপর “change password” ক্লিক করলে দেখি যে "Old password doesn’t match!". |
05:49 | আমি পুরানো পাসওয়ার্ড হিসাবে "abc" লিখলে যা হল এটি এবং নতুন পাসওয়ার্ড হিসাবে "123" এবং এরপর এলোমেলো কিছু লিখি, তাহলে আমাদের পাওয়া উচিত Oh "Old password doesn’t match!" |
06:00 | ফিরে গিয়ে কোড যাচাই করুন। Old password......... row - password............ query get........ |
06:13 | এখানে debug করতে আমি শেষে একটি ব্রেক দিয়ে লিখতে পারি “echo old password db”, এছাড়া আরেকটি ব্রেক দিয়ে লিখি echo old password. |
06:31 | এখন আমরা কী করতে পারি যে স্ক্রিপ্ট আবার রান করি। তাই পুরানো পাসওয়ার্ড "abc" এর সমান, নতুন পাসওয়ার্ড "123" এর সমান এবং তারপর কিছু এলোমেলো অক্ষর লিখতে পারি। |
06:44 | এগুলি তুলনা করি. তারা একই দেখাচ্ছে, আমরা দেখি যে এখানে একটি সমস্যা পেয়েছি। |
06:50 | কোড পুনরায় যাচাই করি. বানানগুলি দেখুন। |
07:15 | ঠিক আছে, সমস্যাটি বোঝা গেছে। আমি ডেটাবেসে ফিরে গেলে দেখি যে আমি নিজেই এই মানটি যোগ করেছিলাম এবং এর শেষে এই শূন্য স্থানটি বানিয়েছিলাম, এটি নীল রঙে লক্ষণীয় হবে - আমি এটি চট করে মুছে দেবো এবং আমার পৃষ্ঠায় ফেরৎ যাবো। |
07:33 | আমি আগের মত লগইন করব এবং আমার পাসওয়ার্ড বদলাবো, আমি পুরানো পাসওয়ার্ড সঠিকভাবে লিখব এবং দুটি নতুন পাসওয়ার্ডের স্থানে এলোমেলো কিছু লিখব। |
07:45 | দেখুন, আমার নতুন পাসওয়ার্ড দুটি মিলছে না। |
07:49 | আমি এটি আগেই দেখিয়েছি, তাই এখন আমি এটি মুছতে পারি। |
07:53 | আমাদের পাসওয়ার্ড দুটি মিলছে ধরে নিয়ে, একটি success message দেখানো যাক। |
07:58 | তাই এগুলি মুছে ফেলি। আমি এগুলি debug করতে রাখি। |
08:02 | আমি আমার পুরানো পাসওয়ার্ড, নতুন পাসওয়ার্ড 123 এবং 123 লিখব, Change password ক্লিক করব এবং আমরা সফল হয়েছি। |
08:10 | শেষের ভুলটির জন্য আমাকে ক্ষমা করবেন। |
08:18 | এই টিউটোরিয়ালের তৃতীয় অংশে আমরা ইউসারের পাসওয়ার্ড আপডেট করা চালিয়ে যাবো এবং দেখে নেবো সব ঠিকমত কাজ করছে কিনা। |
08:29 | এই টিউটোরিয়ালে অংশগ্রহণের জন্য ধন্যবাদ। শুভবিদায়। |