Difference between revisions of "PHP-and-MySQL/C4/User-Registration-Part-6/Bengali"

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with '{| border=1 !Time !Narration |- |00:00 |নমস্কার, এই Spoken Tutorial-এ আপনাকে স্বাগত, এটি মূলতঃ একটি update …')
 
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
{| border=1
 
{| border=1
!Time
+
|'''Time'''
!Narration
+
|'''Narration'''
  
 
|-
 
|-
 
|00:00
 
|00:00
|নমস্কার, এই Spoken Tutorial-এ আপনাকে স্বাগত, এটি মূলতঃ একটি update টিউটোরিয়াল, সম্পূর্ণ ভিডিও নয় ।
+
|নমস্কার, এই স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত। এটি মূলতঃ একটি আপডেট টিউটোরিয়াল, সম্পূর্ণ ভিডিও নয়।
+
 
 
|-
 
|-
 
|00:08
 
|00:08
|একজন আমাকে বলেছেন যে আমার  register script-এ, কিছু পরীক্ষা করার প্রয়োজন আছে এটা দেখতে যে যে username দেওয়া হচ্ছে, সেটি আগে থেকে উপস্হিত আচে কিনা ।
+
|একজন আমাকে বলেছেন যে রেজিস্টার স্ক্রিপ্টে, কিছু পরীক্ষা করা প্রয়োজন এই দেখতে যে ইউসার তাদের দ্বারা উল্লিখিত ইউসারনেম দ্বারা রেজিস্টার রয়েছে কি নয়।
 
|-
 
|-
 
|00:19
 
|00:19
|এখানে আমাদের ফর্ম-এ ফিরে যাওয়া যাক । এখানে আপনি username এবং password নির্বাচন করতে হবে ।
+
|এখানে ফর্মে ফিরে যাই। এখানে সম্পূর্ণ নাম লিখতে পারেন। আপনি username এবং password চয়ন করতে পারেন।
 
+
 
|-
 
|-
 
|00:28
 
|00:28
|আমার এই মানগুলি আগে থেকেই রয়েছে ।  এখন এগুলি মুছে দেওয়া যাক ।
+
|এখানে এই মানগুলি আগে থেকেই রয়েছে। এখন এগুলি মুছে দেই।
+
 
|-
 
|-
 
|00:33
 
|00:33
|কিন্তু আমরা আসলে চাই যে, যখনি আমাদের username নির্বাচন করব...
+
|কিন্তু আমরা আসলে চাই যে, যখন আমরা ইউসারনেম নির্বাচন করব।
 
|-
 
|-
 
|00:37
 
|00:37
| উদাহরস্বরূপ,ধরুন আমরা username "alex" দিয়ে রেজিস্ট্রেশন করছি । ডেটাবেস-এর মধ্যে এখানে দেখা যাচ্ছে,  username "alex" আগে থেকেই রয়েছে ।
+
|উদাহরস্বরূপ,ধরুন আমরা username "alex" দিয়ে রেজিস্টার করছি। ডেটাবেসে দেখি যে username "alex" আগে থেকেই রয়েছে।
  
 
|-
 
|-
 
|00:47
 
|00:47
|তাহলে আমাদের username -এর অস্তিত্ব পরীক্ষা কে নিতে হবে ।
+
|এখন আমাদের ইউসারনেমের অস্তিত্ব যাচাই করতে হবে।
  
 
|-
 
|-
 
|00:50
 
|00:50
|যদি username আগে থেকেই থাকে, তাহলে আমরা user-কে  register করতে দেব না কারণ একই username দুবার থাকতে পারে না ।
+
|ইউসারনেম আগে থেকেই থাকলে, আমরা ইউসারকে রেজিস্টার করতে দেবো না কারণ আমরা একই username দুইবার চাই না।
  
 
|-
 
|-
|01.01
+
|01:01
|আমি এখানে রেজিস্টার করতে চাইলে, পাসওয়ার্ড-টি লেখা যাক এবং username হিসাবে নির্বাচন করুন "alex" username "alex" আগে থেকেই ডেটাবেস-এ রয়েছে ।
+
|আমি এখানে রেজিস্টার করতে চাইলে, পাসওয়ার্ডটি লিখি এবং ইউসারনেম "alex" চয়ন করি। username "alex" ডেটাবেসে আগে থেকেই রয়েছে।
  
 
|-
 
|-
 
|01:13
 
|01:13
|Let's just change this for namesake এবং click করুন register ।
+
|একই নামের হওয়ায় এখন এটি বদলে দেই এবং Register এ টিপি।
  
 
|-
 
|-
 
|01:20
 
|01:20
|আমি সফলভাবে রেজিস্টার করেছি ।
+
|আমি সফলভাবে রেজিস্টার করেছি।
  
 
|-
 
|-
 
|01:23
 
|01:23
|ডেটাবেস-এ মধ্যে দেখা যাক । আমরা দেখেতে পাচ্ছি alex নাম দুটি username রয়েছে ।
+
|এখন ডেটাবেসের মধ্যে দেখি। আমরা দেখি যে alex এর সাথে দুটি ইউসারনেম রয়েছে।
  
 
|-
 
|-
 
|01:28
 
|01:28
|এখন এটি লগইন করার সময় সমস্যা তৈরী করবে ।
+
|এখন লগইন করার সময় এটি সমস্যা তৈরী করবে।
  
 
|-
 
|-
 
|01:31
 
|01:31
|প্রথম নামটি লগইন করার  সময় ব্যবহৃত হবে, দ্বিতীয়টি উপেক্ষা করা হবে ।
+
|প্রথম নামটির উপস্থিতি এখানে এটি লগইন হয়ে যাবে এবং দ্বিতীয়টি উপেক্ষিত হয়ে যাবে।
  
 
|-
 
|-
 
|01:39
 
|01:39
|তাহলে, এই ব্যক্তি কখনই ডেটাবেস-এ লগইন করতে পারবেন না ।
+
|অর্থাৎ এই ব্যক্তি সত্যি ডেটাবেসে কখনই লগইন করতে পারবেন না।
  
 
|-
 
|-
 
|01:44
 
|01:44
|তাহলে, এটি ডিলিট করা যাক ।
+
|তাই এটি মুছে দেই।
  
 
|-
 
|-
 
|01:48
 
|01:48
| আপনাকে কিছু পরীক্ষা করতে হবেusername আগে থেকেই রয়েছে কিনা তা দেখে নিতে ।
+
|আপনাকে কিছু পরীক্ষা করে দেখতে হবে যে username আগে থেকেই উপস্থিত কিনা।
  
 
|-
 
|-
 
|01:53
 
|01:53
|এটি খুব-ই সহজ । এটি করার একাধিক উপায় রয়েছে ।
+
|এটি খুবই সহজ। এটি করার একাধিক উপায় রয়েছে।
  
 
|-
 
|-
 
|01:59
 
|01:59
|এখানে আমি সবথেকে সহজ এবং সম্ভবতঃ কার্যকরী পদ্ধতি-টি ব্যাখা করছি ।
+
|এখানে আমি সব থেকে সহজ এবং সম্ভবতঃ সবচেয়ে কার্যকরী পদ্ধতিটি ব্যাখা করছি।
  
 
|-
 
|-
 
|02:05
 
|02:05
| প্রথমে যেটা করতে হবে, ডেটাবেস সংযোগ করতে আমার কোড নিতে হবে ।
+
|প্রথমে যেটা করতে হবে, ডেটাবেস সংযোগ করতে আমার কোড নিতে হবে।
  
 
|-
 
|-
 
|02:12
 
|02:12
|ডেটাবেস নির্বাচন করলাম । যেখানে submit বোতাম পরীক্ষা করা হচ্ছে, সেখানে এটিকে নিয়ে যেতে হবে I
+
|ডেটাবেস চয়ন করি। আমি এটি উপরে নিয়ে যেতে চাই যেখানে submit বোতাম চয়নিত রয়েছে।
 
+
  
 
|-
 
|-
 
|02:20
 
|02:20
|তাহলে এটি ডেটাবেস সংযোগ করছে, আমি এর মধ্যে রয়েছি ।
+
|এটি শুধু ডেটাবেসে সংযোগ করছে, আমি এর মধ্যে রয়েছি।
  
 
|-
 
|-
|02.26
+
|02:26
|তারপর, এর নিচে, আমি আমার  username পরীক্ষা করার কোড লিখতে পারি ।
+
|তারপর এখানে ইউসারনেম যাচাই করতে আমি কোড লিখতে পারি।
 
+
  
 
|-
 
|-
 
|02:31
 
|02:31
|আপনি আপনার পরীক্ষাটি যেখানে ইচ্ছে সেখানে লিখতে পারবেন না সরলতার জন্য আমি এটি এখানে লিখছি এবং স্ক্রিপ্ট-এর  kill করছি ।
+
|মনে রাখবেন আপনি চেক যেখানে ইচ্ছে সেখানে লিখতে পারবেন না. সরলতার জন্য আমি এটি এখানে লিখছি এবং বাকি স্ক্রিপ্ট মুছে দেই।
 +
 
 
|-
 
|-
|02.39
+
|02:39
|যদি  username -টি  ,পাওয়া যায়, আমি এটিকে যেকোনো জায়গায় পারি ।
+
|ইউসারনেম পেয়ে গেলে আমি এটিকে যে কোনো জায়গায় রাখতে পারি।
  
 
|-
 
|-
|02.44
+
|02:44
|আপনি ওয়েবসাইট-এ সম্পূর্ণ দৈর্ঘের পৃষ্ঠা ব্যবহার করলে, খেয়াল রাখবেন, die function কোড-এর  বাকি অংশ কেটে ছেঁটে দেবে । তাই আমি এটির ব্যবহার অনুমোদন করি না ।
+
|ধ্যান রাখবেন, ওয়েবসাইটে সম্পূর্ণ দৈর্ঘের পৃষ্ঠা ব্যবহার করলে, die function কোডের বাকি অংশ কেটে দেবে। তাই আমি এটির ব্যবহার অনুমোদন করি না।
  
 
|-
 
|-
 
|02:53
 
|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:00
|কিন্তু এটাতে আমরা ঠিক যা করতে চাইছি, তা নিয়ে আপনার একটা সাধারণ ধারণা তৈরী হয়ে যাবে ।
+
|কিন্তু আমরা ঠিক কি করতে চাইছি তা নিয়ে আপনার একটা সাধারণ ধারণা তৈরী হয়ে যাবে।
  
 
|-
 
|-
 
|03:06
 
|03:06
|আমার একটি query লিখতে হবে যার দ্বারা নির্দিষ্ট username-এর রেকর্ড পাওয়া যাবে ।
+
|আমাদের শুধু একটি query লিখতে হবে যা একটি নির্দিষ্ট ইউসারনেমের সাথে রেকর্ড নিয়ে পাওয়া যাবে।
  
 
|-
 
|-
 
|03:12
 
|03:12
|তাহলে, এখানে আমি লিখব "namecheck query" আমি এই ভ্যারিয়েবল টিকে বলব "namecheck" এবং এটি হবে একটি mysql query ।
+
|এখানে আমি লিখব "namecheck query". আমি ভ্যারিয়েবলটিকে "namecheck" বলব এবং এটি একটি mysql কোয়েরী হবে।
  
 
|-
 
|-
|03.21
+
|03:21
|আমি সরলতার জন্য "username" ব্যবহার করব । এটি সম্পূর্ণ তথ্য নির্বাচন করবে না ।
+
|আমি সরলতার জন্য "username" চয়ন করব। এটি সম্পূর্ণ তথ্য নির্বাচন করবে না।
  
 
|-
 
|-
 
|03:27
 
|03:27
|তাই আমি users থেকে username নির্বাচন করছি।
+
|তাই আমি users থেকে username চয়ন করছি।
  
 
|-
 
|-
 
|03:35
 
|03:35
|কারণ সেটিই  এখানে আমাদের টেবিলের নাম ।
+
|কারণ সেটি এখানে আমাদের টেবিলের নাম।
  
 
|-
 
|-
 
|03:39
 
|03:39
|আমি লিখব where username সমান ... এখানে দেখুন, যে ব্যক্তি ফর্ম submit করছেন, তার username , এখানে এই ভ্যারিয়েবল  "username"-রয়েছে ।
+
|আমি লিখব "WHERE username" is equal to... আমি এখানে দেখি যে কারোর ইউসারনেম ফর্ম জমা করলে সেই ভ্যারিয়েবলের নাম "username" এ রয়েছে।
  
 
|-
 
|-
 
|03:50
 
|03:50
|তাহলে এখন নিচে নেমে এসে লেখা যাক  "username"
+
|তাই এখন নীচে নেমে আসি এবং লিখি "username".
  
 
|-
 
|-
 
|03:55
 
|03:55
|এখন নাম নির্বাচন করুন "alex",এটি ডেটাবেস-এর সেই সব রেকর্ড নির্বাচন করবে, যেখানে username "alex" এবগ আমরা দেখতে পাচ্ছি এই মুহুর্তে এটি একবার-ই রয়েছে ।
+
|এখন আমি "alex" নাম চয়ন করলে, এটি ডেটাবেসে সকল রেকর্ড চয়ন করবে, যার ইউসারনেম হল "alex" এবং এখন আমি একটি দেখতে পারি।
  
 
|-
 
|-
 
|04:09
 
|04:09
|এখন যদি আমাকে এক্ষেত্রে বলতে হয়, একটা রেকর্ড পাওয়া যাবে ।
+
|এখন এই পরিস্থিতিতে আমাকে একটি রেকর্ডের সাথে উল্লিখিত করতে হলে.....
  
 
|-
 
|-
 
|04:15
 
|04:15
|যদি আমি  username হিসাবে, ধরুন "Dale", লিখি, কোনো রেকর্ড পাওয়া যাবে না ।
+
|আমাকে ইউসারনেম "Dale" লিখতে হলে উদাহরণস্বরূপ কোনো রেকর্ড পাওয়া যাবে না।
  
 
|-
 
|-
 
|04:20
 
|04:20
|তাহলে বলা যায়, যদি কোনো রেকর্ড না পাওয়া যায়, তাহলে username উপস্থিত নেই ।  তাহলে আমাদের একটি function দরকার যা পরীক্ষা করবে কত রেকর্ড পাওয়া যাচ্ছে ।
+
|তাই ইউসারনেম উপস্থিত থাকবে না, যদি কোনো রেকর্ড পাওয়া না যায়. এখন একটি ফাংশন দরকার যাচাই করতে যে কতগুলি রেকর্ড পাওয়া যাচ্ছে।
 
+
 
|-
 
|-
 
|04:29
 
|04:29
|একটি  গণনাকারী  ভ্যারিয়েবল তৈরী করে এটি করা যাবে । এটি হলো "mysql num rows"
+
|আপনি এটি count ভ্যারিয়েবল বানিয়ে করতে পারেন। এটি হল "mysql num rows".
  
 
|-
 
|-
 
|04:36
 
|04:36
|এটি, আপনার "namecheck" নামক কোয়েরি-তে কোটি রেকর্ড বা সারি রয়েছে, তা দেয় ।
+
|এটি শুধু রেকর্ড এবং রো এর মাত্রা দেবে যা "namecheck" নামক কোয়েরীতে রয়েছে।
  
 
|-
 
|-
 
|04:47
 
|04:47
|তাহলে এটি পরীক্ষা করা যাক ।  আমি count, echo out করব এবং স্ক্রিপ্ট-টি  kill করব ।
+
|এখন এটি যাচাই করি. আমি count ইকো করতে যাচ্ছি এবং স্ক্রিপ্ট নষ্ট করি।
  
 
|-
 
|-
 
|04:53
 
|04:53
|কোড-এর বাকি অংশ চলবে না ।
+
|কোডের বাকি অংশ চলবে না।
 +
 
 
|-
 
|-
 
|04:57
 
|04:57
|register -এ ফিরে যাওয়া যাক, আমার Fullname হিসাবে লিখলাম "alex"
+
|Register এ ফিরে যাই, আমার Fullname "alex" লিখব।
 
|-
 
|-
 
|05:03
 
|05:03
|Fullname, তারপর নির্বাচন করুন username । আমি লিখছি  "Dale"
+
|Fullname এবং তারপর ইউসারনেম চয়ন করুন। আমি "Dale" চয়ন করতে যাচ্ছি।
  
 
|-
 
|-
 
|05:10
 
|05:10
|পাসওয়ার্ড পরীক্ষা করা হবে না, তাই আমরা এটি বাদ দিতে পারি ।
+
|পাসওয়ার্ড পরীক্ষা করা হবে না, আমরা এটি বাদ দিতে পারি।
  
 
|-
 
|-
 
|05:16
 
|05:16
|তাও আমরা সম্পূর্ণতার জন্য এটিকে এখানে রাখলাম, তারপর ক্লিক করুন Register
+
|কিন্তু আমরা সম্পূর্ণতার জন্য এটিকে এখানে রাখবো, তারপর Register এ টিপব।
  
 
|-
 
|-
 
|05:24
 
|05:24
|দেখুন, আমরা শূন্য মান ফিরে পেয়েছি ।
+
|আমরা দেখি যে আমরা শূন্য ভ্যালু পেয়েছি।
  
 
|-
 
|-
 
|05:28
 
|05:28
|এর কারণ, "Dale", ডেটাবেস-এ  username হিসাবে নেই ।
+
|এর কারণ, "Dale" ডেটাবেসে username হিসাবে নেই।
  
 
|-
 
|-
 
|05:32
 
|05:32
|কিন্তু, আমরা যদি এটা বদলে "alex" করি, এটি ছোট হাতের "a" হবে
+
|কিন্তু, আমরা এটিকে "alex" এ বদলালে, এটি ছোট হাতের "a" হবে।
  
 
|-
 
|-
 
|05:39
 
|05:39
|এখানে কিছু ... strip tags আছে ।  The way to deal with case sensitivity as well, is.... so this is another pointer....
+
|এখানে কিছু স্ট্রিপ ট্যাগ্স রয়েছে। কেস সেনসিটিভিটির সাথে মোকাবেলা করার জন্য ভালো, অর্থাৎ এটি আরেকটি পয়েন্টার।
  
 
|-
 
|-
 
|05:49
 
|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.
+
|আমরা ইউসারনেমকে গুরুত্ব দিলে আমরা এখানে লিখি “str to lower", শুধু এই নিশ্চিত করতে যে এটি সর্বদা ছোট হাতের অক্ষরে রূপান্তরিত হোক।
  
 
|-
 
|-
 
|06:01
 
|06:01
|এরপর আমরা করব... একটু খুঁজে নি .... ক্লিক করুন Register
+
|এরপর আমরা করব... একটু খুঁজে নি .... Register এ টিপুন।
  
 
|-
 
|-
 
|06:08
 
|06:08
|দেখুন, মান এক পাওয়া গেছে ।
+
|আমরা দেখি যে আমরা একটি ভ্যালু পেয়েছি।
  
 
|-
 
|-
 
|06:12
 
|06:12
|তাহলে এখানে আমরা যে পরীক্ষা-টি করতে চাইছি তা হলো - যে ভ্যারিয়েবল-টি আমরা echo  out করছি , তা যদি শূন্য না হয়, তাহলে আমাদের ইউসার কে জানাতে হবে যে এই  username আগেই রেজিস্টার করা রয়েছে ।
+
|অর্থাৎ চেক যা আমরা এখানে দেখতে পারি -আমরা এই ভ্যারিয়েবলটি ইকো করলে, এটি শূন্য নয়...আমাদের ইউসারকে জানাতে হবে যে ইউসারনেম আগেই রেজিস্টার করা রয়েছে।
 
+
  
 
|-
 
|-
 
|06:25
 
|06:25
তাহলে এখানে এমি একটি সরল if বিবৃতি এবং আমাদের  block তৈরী করতে পারি ।
+
|এখন এখানে একটি সরল if স্টেটমেন্ট এবং একটি block বানাবো।
  
 
|-
 
|-
 
|06:29
 
|06:29
|তারপর আমরা বলতে পারি, যদি কাউন্ট শূন্য না হয়, তার মানে নির্দিষ্ট username বলা থাকলে  শর্তসাপেক্ষে একটি রেকর্ড উপস্থিত আছে  ।
+
|তারপর আমরা দেখতে পারি যে কাউন্ট শূন্য হয়, তার মানে এখানে একটি রেকর্ড উপস্থিত যেখানে ইউসারনেম আগেই থেকেই উল্লিখিত।
  
 
|-
 
|-
 
|06:40
 
|06:40
|...তারপর আমরা স্ক্রিপ্ট-টি kill করতে পারি এবং "Username already taken" বা অন্য কোনো বার্তা প্রদর্শন করতে পারি । এখানে ফিরে এসে refresh করা যাক ।
+
|তারপর আমরা স্ক্রিপ্ট নষ্ট করতে পারি এবং লিখি "Username already taken" বা অন্য কোনো বার্তা। এখানে ফিরে এসে রিফ্রেশ করি।
  
 
|-
 
|-
 
|06:50
 
|06:50
|নির্বাচন করা যাক  "alex" । একটি  পাসওয়ার্ড লিখে ক্লিক করুন  register ।
+
|আমরা "alex" চয়ন করতে পারি। আমি Register এ টিপি।
  
 
|-
 
|-
 
|06:56
 
|06:56
|দেখুন, আমরা "Username already taken" এরর পাচ্ছি ।
+
|আমরা "Username already taken" এরর পাচ্ছি ।
 
|-
 
|-
 
|07:00
 
|07:00
|যদি আমি "Dale" লিখে এবং একটি নতুন নাম ও পাসওয়ার্ড নির্বাচন করে, ক্লিক করি রেজিস্টার, তাহলে আমরা ডেটাবেস-এ সফলভাবে রেজিস্টার করতে পারব কারণ এই  username এর অস্তিত্ব নেই ।
+
|আমি "Dale" লিখে এবং একটি নতুন নাম ও পাসওয়ার্ড চয়ন করে Register এ টিপলে আমরা দেখি যে এটি ডেটাবেসে সফলভাবে রেজিস্টার হয়ে গেছে কারণ ইউসারনেম উপস্থিত নেই।
  
 
|-
 
|-
 
|07:15
 
|07:15
|তাহলে আমি এখানেই শেষ করছি । দেখুন, আমার রেজিস্টার করা ইউসার রয়েছে ।
+
|আমি এটি এখানেই শেষ করছি। আপনি দেখনে যে আমার রেজিস্টার করা ইউসার পেয়ে গেছি।
  
 
|-
 
|-
 
|07:22
 
|07:22
| একটি "str to lower" ফাংশন যোগ করুন, যা সবকিছুকে সরল রাখতে খুব-ই উপযোগী
+
| একটি "str to lower" ফাংশন যোগ করুন, যা সবকিছু সরল রাখতে খুবই উপযোগী জিনিস।
  
 
|-
 
|-
 
|07:29
 
|07:29
|অথবা r if   বিবৃতি-তে  "str to lower" ফাংশন ব্যবহার করতে পারেন ।
+
|আপনি if স্টেটমেন্টে "str to lower" ফাংশন ব্যবহার করতে পারেন।
  
 
|-
 
|-
 
|07:32
 
|07:32
|যদিও, এটি সরল রাখতে, আমি বলব সব  usernames ছোট হাতের অক্ষরে পরিবর্তন করে নেওয়া ভালো ।
+
|যদিও, এটি সরল রাখতে, আমি বলব যে সকল ইউসারনেম ছোট হাতের অক্ষরে বদলান।
 +
 
 
|-
 
|-
 
|07:39
 
|07:39
|আপানকে এটি লগইন স্ক্রিপ্ট-এও যোগ করতে হবে । ইউসার, লগইন বাক্সতে যা লিখছেন, আপনার তা ছোট হাতের অক্ষরে পরিবর্তন করে নিতে হবে ।
+
|আপনাকে এই লগইন স্ক্রিপ্টেও যোগ করতে হবে। যা কিছু ইউসার লগইন বাক্সে লেখে, তা ছোট হাতের অক্ষরে বদলাতে হবে।
  
 
|-
 
|-
 
|07:48
 
|07:48
|আপনি এটিকে আরো ব্যবহার করুন, ভুল বার করার এটি ভালো পদ্ধতি ।
+
|আপনি এটিকে আরো ব্যবহার করুন, ভুল বার করার এটি ভালো পদ্ধতি।
  
 
|-
 
|-
 
|07:53
 
|07:53
|চেষ্টা করুন, কিন্তু কোনো অসুবিধা হলে, আমাকে অবশ্যই email করবেন ।  আপনি অবশ্যই updates subscribe করবেন ।
+
|এগুলি চেষ্টা করুন, কোনো অসুবিধা হলে, আমাকে অবশ্যই email করুন। আপডেটের জন্য সাবক্রাইব করুন।
  
 
|-
 
|-
 
|07:58
 
|07:58
|আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ করেছি । ধন্যবাদ ।
+
|এই টিউটোরিয়ালে অংশগ্রহণের জন্য ধন্যবাদ। শুভবিদায়।

Latest revision as of 20:03, 6 March 2017

Time Narration
00:00 নমস্কার, এই স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত। এটি মূলতঃ একটি আপডেট টিউটোরিয়াল, সম্পূর্ণ ভিডিও নয়।
00:08 একজন আমাকে বলেছেন যে রেজিস্টার স্ক্রিপ্টে, কিছু পরীক্ষা করা প্রয়োজন এই দেখতে যে ইউসার তাদের দ্বারা উল্লিখিত ইউসারনেম দ্বারা রেজিস্টার রয়েছে কি নয়।
00:19 এখানে ফর্মে ফিরে যাই। এখানে সম্পূর্ণ নাম লিখতে পারেন। আপনি username এবং password চয়ন করতে পারেন।
00:28 এখানে এই মানগুলি আগে থেকেই রয়েছে। এখন এগুলি মুছে দেই।
00:33 কিন্তু আমরা আসলে চাই যে, যখন আমরা ইউসারনেম নির্বাচন করব।
00:37 উদাহরস্বরূপ,ধরুন আমরা username "alex" দিয়ে রেজিস্টার করছি। ডেটাবেসে দেখি যে username "alex" আগে থেকেই রয়েছে।
00:47 এখন আমাদের ইউসারনেমের অস্তিত্ব যাচাই করতে হবে।
00:50 ইউসারনেম আগে থেকেই থাকলে, আমরা ইউসারকে রেজিস্টার করতে দেবো না কারণ আমরা একই username দুইবার চাই না।
01:01 আমি এখানে রেজিস্টার করতে চাইলে, পাসওয়ার্ডটি লিখি এবং ইউসারনেম "alex" চয়ন করি। username "alex" ডেটাবেসে আগে থেকেই রয়েছে।
01:13 একই নামের হওয়ায় এখন এটি বদলে দেই এবং Register এ টিপি।
01:20 আমি সফলভাবে রেজিস্টার করেছি।
01:23 এখন ডেটাবেসের মধ্যে দেখি। আমরা দেখি যে alex এর সাথে দুটি ইউসারনেম রয়েছে।
01:28 এখন লগইন করার সময় এটি সমস্যা তৈরী করবে।
01:31 প্রথম নামটির উপস্থিতি এখানে এটি লগইন হয়ে যাবে এবং দ্বিতীয়টি উপেক্ষিত হয়ে যাবে।
01:39 অর্থাৎ এই ব্যক্তি সত্যি ডেটাবেসে কখনই লগইন করতে পারবেন না।
01:44 তাই এটি মুছে দেই।
01:48 আপনাকে কিছু পরীক্ষা করে দেখতে হবে যে username আগে থেকেই উপস্থিত কিনা।
01:53 এটি খুবই সহজ। এটি করার একাধিক উপায় রয়েছে।
01:59 এখানে আমি সব থেকে সহজ এবং সম্ভবতঃ সবচেয়ে কার্যকরী পদ্ধতিটি ব্যাখা করছি।
02:05 প্রথমে যেটা করতে হবে, ডেটাবেস সংযোগ করতে আমার কোড নিতে হবে।
02:12 ডেটাবেস চয়ন করি। আমি এটি উপরে নিয়ে যেতে চাই যেখানে submit বোতাম চয়নিত রয়েছে।
02:20 এটি শুধু ডেটাবেসে সংযোগ করছে, আমি এর মধ্যে রয়েছি।
02:26 তারপর এখানে ইউসারনেম যাচাই করতে আমি কোড লিখতে পারি।
02:31 মনে রাখবেন আপনি চেক যেখানে ইচ্ছে সেখানে লিখতে পারবেন না. সরলতার জন্য আমি এটি এখানে লিখছি এবং বাকি স্ক্রিপ্ট মুছে দেই।
02:39 ইউসারনেম পেয়ে গেলে আমি এটিকে যে কোনো জায়গায় রাখতে পারি।
02:44 ধ্যান রাখবেন, ওয়েবসাইটে সম্পূর্ণ দৈর্ঘের পৃষ্ঠা ব্যবহার করলে, die function কোডের বাকি অংশ কেটে দেবে। তাই আমি এটির ব্যবহার অনুমোদন করি না।
02:53 আমি চেক্স যা পরবর্তী স্টেটমেন্টে আপনার কাছে রয়েছে তা আবরণ করার পরামর্শ দেই এবং স্ক্রিপ্ট সত্যি নষ্ট করবেন না।
03:00 কিন্তু আমরা ঠিক কি করতে চাইছি তা নিয়ে আপনার একটা সাধারণ ধারণা তৈরী হয়ে যাবে।
03:06 আমাদের শুধু একটি query লিখতে হবে যা একটি নির্দিষ্ট ইউসারনেমের সাথে রেকর্ড নিয়ে পাওয়া যাবে।
03:12 এখানে আমি লিখব "namecheck query". আমি ভ্যারিয়েবলটিকে "namecheck" বলব এবং এটি একটি mysql কোয়েরী হবে।
03:21 আমি সরলতার জন্য "username" চয়ন করব। এটি সম্পূর্ণ তথ্য নির্বাচন করবে না।
03:27 তাই আমি users থেকে username চয়ন করছি।
03:35 কারণ সেটি এখানে আমাদের টেবিলের নাম।
03:39 আমি লিখব "WHERE username" is equal to... আমি এখানে দেখি যে কারোর ইউসারনেম ফর্ম জমা করলে সেই ভ্যারিয়েবলের নাম "username" এ রয়েছে।
03:50 তাই এখন নীচে নেমে আসি এবং লিখি "username".
03:55 এখন আমি "alex" নাম চয়ন করলে, এটি ডেটাবেসে সকল রেকর্ড চয়ন করবে, যার ইউসারনেম হল "alex" এবং এখন আমি একটি দেখতে পারি।
04:09 এখন এই পরিস্থিতিতে আমাকে একটি রেকর্ডের সাথে উল্লিখিত করতে হলে.....
04:15 আমাকে ইউসারনেম "Dale" লিখতে হলে উদাহরণস্বরূপ কোনো রেকর্ড পাওয়া যাবে না।
04:20 তাই ইউসারনেম উপস্থিত থাকবে না, যদি কোনো রেকর্ড পাওয়া না যায়. এখন একটি ফাংশন দরকার যাচাই করতে যে কতগুলি রেকর্ড পাওয়া যাচ্ছে।
04:29 আপনি এটি count ভ্যারিয়েবল বানিয়ে করতে পারেন। এটি হল "mysql num rows".
04:36 এটি শুধু রেকর্ড এবং রো এর মাত্রা দেবে যা "namecheck" নামক কোয়েরীতে রয়েছে।
04:47 এখন এটি যাচাই করি. আমি count ইকো করতে যাচ্ছি এবং স্ক্রিপ্ট নষ্ট করি।
04:53 কোডের বাকি অংশ চলবে না।
04:57 Register এ ফিরে যাই, আমার Fullname "alex" লিখব।
05:03 Fullname এবং তারপর ইউসারনেম চয়ন করুন। আমি "Dale" চয়ন করতে যাচ্ছি।
05:10 পাসওয়ার্ড পরীক্ষা করা হবে না, আমরা এটি বাদ দিতে পারি।
05:16 কিন্তু আমরা সম্পূর্ণতার জন্য এটিকে এখানে রাখবো, তারপর Register এ টিপব।
05:24 আমরা দেখি যে আমরা শূন্য ভ্যালু পেয়েছি।
05:28 এর কারণ, "Dale" ডেটাবেসে username হিসাবে নেই।
05:32 কিন্তু, আমরা এটিকে "alex" এ বদলালে, এটি ছোট হাতের "a" হবে।
05:39 এখানে কিছু স্ট্রিপ ট্যাগ্স রয়েছে। কেস সেনসিটিভিটির সাথে মোকাবেলা করার জন্য ভালো, অর্থাৎ এটি আরেকটি পয়েন্টার।
05:49 আমরা ইউসারনেমকে গুরুত্ব দিলে আমরা এখানে লিখি “str to lower", শুধু এই নিশ্চিত করতে যে এটি সর্বদা ছোট হাতের অক্ষরে রূপান্তরিত হোক।
06:01 এরপর আমরা করব... একটু খুঁজে নি .... Register এ টিপুন।
06:08 আমরা দেখি যে আমরা একটি ভ্যালু পেয়েছি।
06:12 অর্থাৎ চেক যা আমরা এখানে দেখতে পারি -আমরা এই ভ্যারিয়েবলটি ইকো করলে, এটি শূন্য নয়...আমাদের ইউসারকে জানাতে হবে যে ইউসারনেম আগেই রেজিস্টার করা রয়েছে।
06:25 এখন এখানে একটি সরল if স্টেটমেন্ট এবং একটি block বানাবো।
06:29 তারপর আমরা দেখতে পারি যে কাউন্ট শূন্য হয়, তার মানে এখানে একটি রেকর্ড উপস্থিত যেখানে ইউসারনেম আগেই থেকেই উল্লিখিত।
06:40 তারপর আমরা স্ক্রিপ্ট নষ্ট করতে পারি এবং লিখি "Username already taken" বা অন্য কোনো বার্তা। এখানে ফিরে এসে রিফ্রেশ করি।
06:50 আমরা "alex" চয়ন করতে পারি। আমি Register এ টিপি।
06:56 আমরা "Username already taken" এরর পাচ্ছি ।
07:00 আমি "Dale" লিখে এবং একটি নতুন নাম ও পাসওয়ার্ড চয়ন করে Register এ টিপলে আমরা দেখি যে এটি ডেটাবেসে সফলভাবে রেজিস্টার হয়ে গেছে কারণ ইউসারনেম উপস্থিত নেই।
07:15 আমি এটি এখানেই শেষ করছি। আপনি দেখনে যে আমার রেজিস্টার করা ইউসার পেয়ে গেছি।
07:22 একটি "str to lower" ফাংশন যোগ করুন, যা সবকিছু সরল রাখতে খুবই উপযোগী জিনিস।
07:29 আপনি if স্টেটমেন্টে "str to lower" ফাংশন ব্যবহার করতে পারেন।
07:32 যদিও, এটি সরল রাখতে, আমি বলব যে সকল ইউসারনেম ছোট হাতের অক্ষরে বদলান।
07:39 আপনাকে এই লগইন স্ক্রিপ্টেও যোগ করতে হবে। যা কিছু ইউসার লগইন বাক্সে লেখে, তা ছোট হাতের অক্ষরে বদলাতে হবে।
07:48 আপনি এটিকে আরো ব্যবহার করুন, ভুল বার করার এটি ভালো পদ্ধতি।
07:53 এগুলি চেষ্টা করুন, কোনো অসুবিধা হলে, আমাকে অবশ্যই email করুন। আপডেটের জন্য সাবক্রাইব করুন।
07:58 এই টিউটোরিয়ালে অংশগ্রহণের জন্য ধন্যবাদ। শুভবিদায়।

Contributors and Content Editors

Antarade, Satarupadutta