PHP-and-MySQL/C4/User-Login-Part-2/Bengali
From Script | Spoken-Tutorial
Time | Narration |
00:00 | দ্বিতীয় ভাগে আপনাকে স্বাগত । এখানে শেখানো হবে কিভাবে "login dot php" পৃষ্ঠাকে পরিবর্তন করে ডেটাবেস সংযোগ করা যায় এবং কিভাবে username এবং পাসওয়ার্ড ডেটাবেস-এর সাথে পরীক্ষা করা যায় । |
00:14 | এখন আমরা ডেটাবেস-এর সাথে সংযুক্ত রয়েছি । |
00:18 | Refresh করুন এবং username এবং password পুনরায় পাঠান, দেখুন এখন কোনো ত্রুটি নেই। |
00:24 | আমি এই ত্রুটি-টির কথা বলছি । এবং আমরা দেখেছি, যদি আমরা তথ্য না লিখি, তাহলেও ত্রুটি ঘটে । |
00:28 | এখন, প্রথমে আমরা একটি query তৈরী করব । |
00:36 | যদি আপনি "mysql" বা অন্য কোনো structured query language আগে ব্যবহার করে থাকেন, তাহলে আপনি জানবেন যে আপনি ডেটাবেস-কে প্রশ্ন করতে পারেন । |
00:43 | মনে হয় Microsoft Access -এ |
00:46 | তাহলে এখানে লেখা যাক "SELECT", বা লেখা যাক "SELECT *" কারণ আমাদের ID, username এবং password সবকটি-ই লাগবে । |
00:54 | আমার মনে হয় না id লাগবে কিন্তু "SELECT *" এমনি তেই সব তথ্য দিয়ে দেবে । |
00:59 | লেখা যাক "SELECT * FROM" মনে হয় এর নাম ছিল, users । একবার দেখে নেওয়া যাক । |
01:04 | হ্যা, users । তাহলে "SELECT * users" এবং এখানে লিখুন "WHERE username" যেটি এখানে লেখা থাকবে । |
01:20 | তাহলে আমরা লিখব "WHERE username সমান" সেই "username" যেটি লেখা হয়েছে । |
01:30 | এখন যদি সেই "username" -এর অস্তত্ব না থাকে, আমাদের একটি error message tদেখাতে হবে যাতে লেখা থাকবে "This user doesn’t exist" |
01:37 | তাহলে আরেকটি ফাংশন "mysql num rows" নামে একটি mysql function ব্যবহার করা যাক । |
01:46 | এটি, ডেটাবেস-এ query চালানোর ফলে পাওয়া সারিগুলির সংখ্যার সমান হয় । |
01:53 | তাহলে লেখা যাক "numrows সমান mysql_num_rows" এবং বন্ধনীর মধ্যে আমাদের query-এর নাম রয়েছে, সেই variable যেখানে আমরা query function সংরক্ষণ করেছি । |
02.08 | এখন যদি আমরা সারিসংখ্যা echo করি, তাহলে আপনি দেখতে পাবেন ১ কারণ আমাদের এখন একটি সারি রয়েছে। |
02.16 | ক্লিক করা যাক insert এবং তথ্যর আরেকটি সারি যোগ করা যাক, উদাহরণস্বরূপ, আরেকটি username এবং আরেকটি password । |
02:26 | এটি এখন করে দেখা যাক । আমি এটিকে পরে পরীক্ষা করব । লেখা যাক, username হলো "Kyle" এবং এবার password হলো "123" । |
02:38 | ঠিকাছে, করে দেখা যাক । কি হল। হ্যা এখানে ওটি দেখা যাচ্ছে। |
02:53 | তাহলে আমরা পেয়েছি "Alex" এবং "Kyle". |
02:55 | দেখুন id গুলি নিজে থেকে বেড়ে গেছে । |
02:58 | আপনি এখানে আমাদের দুটি password এবং দুটি username দেখতে পাচ্ছেন । |
03:02 | এখন এটি refresh করে দেখা যাক কি পাই । |
03.06 | ও একটা ব্যাপার আছে, এটি হল সম্পূর্ণ পরীক্ষাটা। |
03:10 | এটি ১ দেখিয়ে ছিল কারণ আমি যদি প্রত্যেকটি ইউসারকে নির্বাচন করি এবং তারপর সারির সংখ্যা গণনা করি তাহলে মান বেড়ে যাবে। |
03:18 | back করে refresh করা যাক এবং এখন মান হিসাবে ২ দেখা যাচ্ছে কারণ এখন ২ টি সারি রয়েছে । |
03:22 | যদি আমি লিখি "SELECT username সমান আমার username" তাহলে আমি অবশ্যই আমার আমার username এর সারিটিকে নির্বাচন করছি। |
03:34 | সাধারনতঃ কোনো website-এ username পুনরাবৃত্তি হয়না । |
03:40 | ঠিককাছে, তাহলে এটি হয়ে গেছে, কটি সারি রয়েছে সেটি জানার উদ্দেশ্য কি ? |
03:47 | আসলে উদ্দেশ্যটি হলো, আমরা বলতে পারি "if num_rows সমান zero", তাহলে এর অর্থ আমরা .. মাফ করবেন, যদি "my num_rows শূন্য-এর সমান না হয়", তাহলে আমরা লগইন করার জন্য প্রয়োজনীয় কোড চালাতে পারি । |
04.01 | না হলে, মাফ করবেন "else", আমাদের echo out করতে হবে, মাফ করবেন "else die" । আমরা বার্তা হিসাবে দেব "That user doesn’t exist" । |
04:16 | তাহলে আমরা করছি কি, আমরা যেখানে username দিয়েছে, সেখান থেকে ফেরত পাওয়া সারি-টিকে পরিখা করছি । |
04:25 | যদি এটি শূন্য-র সমান না হয় , আমরা login করতে আমাদের কোড ব্যবহার করতে পারি । |
04:29 | নাহলে আমরা লিকবো die এবং "That username doesn’t exist". |
04:33 | তাহইলে এটি হবে সমান ১,২,৩,৪ এবং এভাবে চলবে । |
04:38 | মাফ কবেন এটি হবে সমান ... |
04:40 | যদি এটি শূন্য-এ সমান না হয়, তাহলে এটি কোনো একটির সমান হবে । |
04:44 | এবং এটি যদি কোনো একটির সমান হয়, তাহলে এখানের কোড-টি execute হবে । |
04:47 | এটি শূন্য হবার অর্থ, আসলে কোনো result -ই ফেরত আসেনি । |
04:52 | আমি এটিকে পুনরায় পাঠাব । back করা যাক । |
04:57 | এখন "echo num_rows" মুছে ফেলা যাক । |
05:05 | ঠিকাছে । এখন আমাদের মূল পৃষ্ঠায় ফিরে যাওয়া যাক এবং "Alex" ও "abc" দিয়ে লগইন করা যাক; এই মুহুর্তে password -এর প্রয়োজন নেই। . |
05:13 | কিছু হয়নি কারণ কোনো error দেখা যাচ্ছে না । |
05:15 | এখন, উদাহরণস্বরপ, Billy, ব্যবহার করা যাক এবং password লেখা যাক, ক্লিক করুন login । |
05:21 | "That user doesn’t exist!" কারণ কোনো row তেই username সমান Billy নেই । |
05:26 | তাহলে দেখা যাচ্ছে এটি কাজ করছে । |
05:28 | পূর্বাবস্থায় ফিরে যাওয়া যাক । |
05:31 | তাহলে "Alex" এবং আমাদের পাসওয়ার্ড হলো "abc" । |
05:37 | এখন login-এর কোড করা যাক । |
05:39 | login করতে, আমাদের পাসওয়ার্ড পরীক্ষা করতে হবে । |
05:42 | তাহলে এই পাসওয়ার্ড-টি পেতে, আমি একটি ফাংশন ব্যবহার করব । |
05:46 | মাফ করবেন, ফাংশন নয় , আমি ব্যবহার করব ...... একটি loop এবং সেই loop টি হবে "while" loop । |
05:52 | আমি এখানে একটি variable name লিখব । আমি এটিকে বলব "row" এটি সমান হবে "mysql"..... " । mysql_ একটি সারিকে একটি array হিসাবে নিয়ে আসে । ঠিক কাছে? |
06:11 | তাহলে আমি সংক্ষেপে লিখব "mysqul_fetch_assoc" । |
06:22 | এটি-ই আমার query হবে । তাহলে ওখানে আমাদের query তৈরী হয়ে গেছে । |
06:28 | এখান থেকে, আমরা প্রত্যেকটি কলামের তথ্যে পাচ্ছি এবং সেগুলিকে "row" নাম একটি array তে যোগ করছি । |
06:40 | তাহলে while loop-এ অবশ্যই বন্ধনী থাকবে, বন্ধনিগুলি এবং কিছু variable যোগ করা যাক । |
06:45 | আমি বলব "db username", যেটি হলো ডেটাবেস থেকে পাওয়া username, সমান "row" এবং এই হলো সারির নাম, "username". |
06:55 | তাহলে এখানে যেমন দেখা যাচ্ছে, এখানে এটি হলো সারি নাম । |
06:59 | তাহলে এটি যদি তথ্যর array হয়, তাহলে এগুলির প্রত্যেকটি হবে id, username এবং password । |
07:06 | আমরা 0,1,2 ব্যবহার করছি না । আমি নিশ্চিত নই ওগুলি কাজ করে কিনা । |
07:10 | এখন আমরা এটিকে সরল রাখব এবং আমরা আমাদের কলাম-টিকে সরাসরি reference করব । |
07:20 | তাহলে database username হবে "row" এবং যেহেতু এটি একটি array যেটি আমাদের query-এর এই ফাংশন-টি ব্যবহার করছে । |
07:26 | এরপর আমরা লিখব "db password সমান row" এবং তারপর আমাদের পাসওয়ার্ড । |
07:38 | তাহলে এরপর আমরা echo out করতে পারি .... |
07:43 | না, আমাদের db username and password -এর মানগুলি echo out করার প্রয়োজন নেই যদি না আমরা unless we want to run into errors. |
07:49 | আমরা আগে থেকেই জানি এগুলির মান কি । আমরা এগুলিকে ডেটাবেস-এ দেখেছি । |
07:51 | এখন আমরা কিছু পরীক্ষা করব । তাহলে পরীক্ষা করা যাক এগুলি মিলছে কিনা । |
08:00 | "if" বিবৃতি ব্যবহার করলে এটি খুব-ই সোজা । |
08:04 | যদি আমাদের username, db username -এর সমান হয় এবং আমাদের password, db password-এর সমান হয়, তাহলে আমরা বলব সব সঠিক আছে । |
08:19 | না হলে, আমরা বলব এগুলিতে ভুল আছে । |
08:22 | আমরা এই বন্ধনিগুলি সরিয়ে দেব কারণ এখানে একটিমাত্র লাইন রয়েছে । তাহলে echo "Incorrect password!" । এটিকে এইভাবেই রেখে দিন । |
08:34 | এবং এখানে আমরা দেখাবো "You’re in!". |
08:41 | ঠিকাছে, আমরা এটি এই পর্যায়-এর টিউটোরিয়াল-টি শেষ করার ঠিক আগে দেখব । |
08:46 | আমি প্রথমে লিখব "Alex" এবং একটি ভুল পাসওয়ার্ড লিখব "Incorrect password!" । |
08:51 | এবং আমি পাসওয়ার্ড হিসাবে লিখব "abc" এবং "You’re in!". |
08:55 | তাহলে আমরা এই username পরীক্ষা করে দেখে নিয়েছি এটি উপস্থিত রয়েছে । |
08:58 | We’ve checked our fields exist তাহলে আপনার username এবং পাসওয়ার্ড লিখুন । |
09:04 | যদি আপনি username এবং একটি ভুল পাসওয়ার্ড লেখেন, তাহলে দেখা যাবে – "Incorrect password". |
09:11 | আমরা সঠিক পাসওয়ার্ড লিখলে দেখতে পাব - "You’re in". |
09:13 | এবং যদি এমন username লেখা হয় যা উপস্থিত নেই, তাহলে আমরা একটি ত্রুটি দেখতে পাব যে ব্যবহারকারী উপস্থিত নেই । |
09:24 | এর পরবর্তী ভাগের টিউটোরিয়াল-এ আমি দেখাবো কিভাবে আপনি session তৈরী করতে পারবেন এবং আপনার পৃষ্ঠা log out করতে পারবেন । |
09:32 | আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ করেছি । ধন্যবাদ । |