PHP-and-MySQL/C4/User-Registration-Part-6/Bengali

From Script | Spoken-Tutorial
Revision as of 14:04, 29 April 2014 by Antarade (Talk | contribs)

Jump to: navigation, search
Time Narration
00:00 নমস্কার, এই Spoken Tutorial-এ আপনাকে স্বাগত, এটি মূলতঃ একটি update টিউটোরিয়াল, সম্পূর্ণ ভিডিও নয় ।
00:08 একজন আমাকে বলেছেন যে আমার register script-এ, কিছু পরীক্ষা করার প্রয়োজন আছে এটা দেখতে যে যে username দেওয়া হচ্ছে, সেটি আগে থেকে উপস্হিত আচে কিনা ।
00:19 এখানে আমাদের ফর্ম-এ ফিরে যাওয়া যাক । এখানে আপনি username এবং password নির্বাচন করতে হবে ।
00:28 আমার এই মানগুলি আগে থেকেই রয়েছে । এখন এগুলি মুছে দেওয়া যাক ।
00:33 কিন্তু আমরা আসলে চাই যে, যখনি আমাদের username নির্বাচন করব...
00:37 উদাহরস্বরূপ,ধরুন আমরা username "alex" দিয়ে রেজিস্ট্রেশন করছি । ডেটাবেস-এর মধ্যে এখানে দেখা যাচ্ছে, username "alex" আগে থেকেই রয়েছে ।
00:47 তাহলে আমাদের username -এর অস্তিত্ব পরীক্ষা কে নিতে হবে ।
00:50 যদি username আগে থেকেই থাকে, তাহলে আমরা user-কে register করতে দেব না কারণ একই username দুবার থাকতে পারে না ।
01.01 আমি এখানে রেজিস্টার করতে চাইলে, পাসওয়ার্ড-টি লেখা যাক এবং username হিসাবে নির্বাচন করুন "alex" । username "alex" আগে থেকেই ডেটাবেস-এ রয়েছে ।
01:13 Let's just change this for namesake এবং click করুন register ।
01:20 আমি সফলভাবে রেজিস্টার করেছি ।
01:23 ডেটাবেস-এ মধ্যে দেখা যাক । আমরা দেখেতে পাচ্ছি alex নাম দুটি username রয়েছে ।
01:28 এখন এটি লগইন করার সময় সমস্যা তৈরী করবে ।
01:31 প্রথম নামটি লগইন করার সময় ব্যবহৃত হবে, দ্বিতীয়টি উপেক্ষা করা হবে ।
01:39 তাহলে, এই ব্যক্তি কখনই ডেটাবেস-এ লগইন করতে পারবেন না ।
01:44 তাহলে, এটি ডিলিট করা যাক ।
01:48 আপনাকে কিছু পরীক্ষা করতে হবে, username আগে থেকেই রয়েছে কিনা তা দেখে নিতে ।
01:53 এটি খুব-ই সহজ । এটি করার একাধিক উপায় রয়েছে ।
01:59 এখানে আমি সবথেকে সহজ এবং সম্ভবতঃ কার্যকরী পদ্ধতি-টি ব্যাখা করছি ।
02:05 প্রথমে যেটা করতে হবে, ডেটাবেস সংযোগ করতে আমার কোড নিতে হবে ।
02:12 ডেটাবেস নির্বাচন করলাম । যেখানে submit বোতাম পরীক্ষা করা হচ্ছে, সেখানে এটিকে নিয়ে যেতে হবে I


02:20 তাহলে এটি ডেটাবেস সংযোগ করছে, আমি এর মধ্যে রয়েছি ।
02.26 তারপর, এর নিচে, আমি আমার username পরীক্ষা করার কোড লিখতে পারি ।


02:31 আপনি আপনার পরীক্ষাটি যেখানে ইচ্ছে সেখানে লিখতে পারবেন না । সরলতার জন্য আমি এটি এখানে লিখছি এবং স্ক্রিপ্ট-এর kill করছি ।
02.39 যদি username -টি ,পাওয়া যায়, আমি এটিকে যেকোনো জায়গায় পারি ।
02.44 আপনি ওয়েবসাইট-এ সম্পূর্ণ দৈর্ঘের পৃষ্ঠা ব্যবহার করলে, খেয়াল রাখবেন, die function কোড-এর বাকি অংশ কেটে ছেঁটে দেবে । তাই আমি এটির ব্যবহার অনুমোদন করি না ।
02:53 I recommend casing the checks that you already have inside the next statement and not really to kill the script.
03:00 কিন্তু এটাতে আমরা ঠিক যা করতে চাইছি, তা নিয়ে আপনার একটা সাধারণ ধারণা তৈরী হয়ে যাবে ।
03:06 আমার একটি query লিখতে হবে যার দ্বারা নির্দিষ্ট username-এর রেকর্ড পাওয়া যাবে ।
03:12 তাহলে, এখানে আমি লিখব "namecheck query" । আমি এই ভ্যারিয়েবল টিকে বলব "namecheck" এবং এটি হবে একটি mysql query ।
03.21 আমি সরলতার জন্য "username" ব্যবহার করব । এটি সম্পূর্ণ তথ্য নির্বাচন করবে না ।
03:27 তাই আমি users থেকে username নির্বাচন করছি।
03:35 কারণ সেটিই এখানে আমাদের টেবিলের নাম ।
03:39 আমি লিখব where username সমান ... এখানে দেখুন, যে ব্যক্তি ফর্ম submit করছেন, তার username , এখানে এই ভ্যারিয়েবল "username"-এ রয়েছে ।
03:50 তাহলে এখন নিচে নেমে এসে লেখা যাক "username" ।
03:55 এখন নাম নির্বাচন করুন "alex",এটি ডেটাবেস-এর সেই সব রেকর্ড নির্বাচন করবে, যেখানে username "alex" এবগ আমরা দেখতে পাচ্ছি এই মুহুর্তে এটি একবার-ই রয়েছে ।
04:09 এখন যদি আমাকে এক্ষেত্রে বলতে হয়, একটা রেকর্ড পাওয়া যাবে ।
04:15 যদি আমি username হিসাবে, ধরুন "Dale", লিখি, কোনো রেকর্ড পাওয়া যাবে না ।
04:20 তাহলে বলা যায়, যদি কোনো রেকর্ড না পাওয়া যায়, তাহলে username উপস্থিত নেই । তাহলে আমাদের একটি function দরকার যা পরীক্ষা করবে কত রেকর্ড পাওয়া যাচ্ছে ।
04:29 একটি গণনাকারী ভ্যারিয়েবল তৈরী করে এটি করা যাবে । এটি হলো "mysql num rows" ।
04:36 এটি, আপনার "namecheck" নামক কোয়েরি-তে কোটি রেকর্ড বা সারি রয়েছে, তা দেয় ।
04:47 তাহলে এটি পরীক্ষা করা যাক । আমি count, echo out করব এবং স্ক্রিপ্ট-টি kill করব ।
04:53 কোড-এর বাকি অংশ চলবে না ।
04:57 register -এ ফিরে যাওয়া যাক, আমার Fullname হিসাবে লিখলাম "alex" ।
05:03 Fullname, তারপর নির্বাচন করুন username । আমি লিখছি "Dale" ।
05:10 পাসওয়ার্ড পরীক্ষা করা হবে না, তাই আমরা এটি বাদ দিতে পারি ।
05:16 তাও আমরা সম্পূর্ণতার জন্য এটিকে এখানে রাখলাম, তারপর ক্লিক করুন Register ।
05:24 দেখুন, আমরা শূন্য মান ফিরে পেয়েছি ।
05:28 এর কারণ, "Dale", ডেটাবেস-এ username হিসাবে নেই ।
05:32 কিন্তু, আমরা যদি এটা বদলে "alex" করি, এটি ছোট হাতের "a" হবে
05:39 এখানে কিছু ... strip tags আছে । The way to deal with case sensitivity as well, is.... so this is another pointer....
05:49 When we are taking the username into account what we are going to say "string to lower" here, just to make sure that this will always convert to lowercase.
06:01 এরপর আমরা করব... একটু খুঁজে নি .... ক্লিক করুন Register ।
06:08 দেখুন, মান এক পাওয়া গেছে ।
06:12 তাহলে এখানে আমরা যে পরীক্ষা-টি করতে চাইছি তা হলো - যে ভ্যারিয়েবল-টি আমরা echo out করছি , তা যদি শূন্য না হয়, তাহলে আমাদের ইউসার কে জানাতে হবে যে এই username আগেই রেজিস্টার করা রয়েছে ।


06:25 তাহলে এখানে এমি একটি সরল if বিবৃতি এবং আমাদের block তৈরী করতে পারি ।
06:29 তারপর আমরা বলতে পারি, যদি কাউন্ট শূন্য না হয়, তার মানে নির্দিষ্ট username বলা থাকলে শর্তসাপেক্ষে একটি রেকর্ড উপস্থিত আছে ।
06:40 ...তারপর আমরা স্ক্রিপ্ট-টি kill করতে পারি এবং "Username already taken" বা অন্য কোনো বার্তা প্রদর্শন করতে পারি । এখানে ফিরে এসে refresh করা যাক ।
06:50 নির্বাচন করা যাক "alex" । একটি পাসওয়ার্ড লিখে ক্লিক করুন register ।
06:56 দেখুন, আমরা "Username already taken" এরর পাচ্ছি ।
07:00 যদি আমি "Dale" লিখে এবং একটি নতুন নাম ও পাসওয়ার্ড নির্বাচন করে, ক্লিক করি রেজিস্টার, তাহলে আমরা ডেটাবেস-এ সফলভাবে রেজিস্টার করতে পারব কারণ এই username এর অস্তিত্ব নেই ।
07:15 তাহলে আমি এখানেই শেষ করছি । দেখুন, আমার রেজিস্টার করা ইউসার রয়েছে ।
07:22 একটি "str to lower" ফাংশন যোগ করুন, যা সবকিছুকে সরল রাখতে খুব-ই উপযোগী ।
07:29 অথবা r if বিবৃতি-তে "str to lower" ফাংশন ব্যবহার করতে পারেন ।
07:32 যদিও, এটি সরল রাখতে, আমি বলব সব usernames ছোট হাতের অক্ষরে পরিবর্তন করে নেওয়া ভালো ।
07:39 আপানকে এটি লগইন স্ক্রিপ্ট-এও যোগ করতে হবে । ইউসার, লগইন বাক্সতে যা লিখছেন, আপনার তা ছোট হাতের অক্ষরে পরিবর্তন করে নিতে হবে ।
07:48 আপনি এটিকে আরো ব্যবহার করুন, ভুল বার করার এটি ভালো পদ্ধতি ।
07:53 চেষ্টা করুন, কিন্তু কোনো অসুবিধা হলে, আমাকে অবশ্যই email করবেন । আপনি অবশ্যই updates subscribe করবেন ।
07:58 আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ করেছি । ধন্যবাদ ।

Contributors and Content Editors

Antarade, Satarupadutta