ঈশ্বরহীন প্রমাণীকরণ নিবন্ধন php

10/05/2015 রোমচিক

শুভ দিন. এই নিবন্ধে, আমরা ব্যবহারকারীর নিবন্ধন বিশ্লেষণ করতে একটি উদাহরণ ব্যবহার করব৷ তারপর ব্যবহারকারীকে তার ইমেল ঠিকানা নিশ্চিত করে সক্রিয় করুন। এবং অবশেষে, ব্যবহারকারী অনুমোদন . কিন্তু শুধুমাত্র সক্রিয় ব্যবহারকারীদের অনুমোদিত হওয়া উচিত।

আমরা প্রথমে যা করব তা হল রেজিস্ট্রেশনের জন্য একটি নিয়ামক এবং একটি ভিউ তৈরি করা।

একটি নিবন্ধন ফর্ম তৈরি করা

রিসোর্স টেমপ্লেট সহ ডিরেক্টরিতে যান এবং এটিতে auth সাবডিরেক্টরি তৈরি করুন। এখন auth ফোল্ডারে আমরা নিম্নলিখিত কোড সহ একটি ফাইল register.blade.php তৈরি করব:

নিবন্ধন

((--ত্রুটি--)) @if ($errors->has()) ×
    @foreach($errors->all() as $error)
  • ((($ত্রুটি)))
  • @endforeach
@endif (!! csrf_field() ! Email Пароль Повторите пароль Отправить !}

আমি উপরের কোডটি ব্যাখ্যা করব না, এখানে সবকিছু পরিষ্কার।

অ্যাপ/Http/Controllers/Auth/AuthController.php

আমরা শুধুমাত্র AuthController.php কন্ট্রোলার পদ্ধতিগুলিকে ওভাররাইড করব৷ সুতরাং, নিবন্ধন ফর্ম প্রদর্শন করার জন্য, একটি getRegister পদ্ধতি আছে। আমরা এই পদ্ধতি স্পর্শ না.

এখন রুটগুলিতে যাওয়া যাক। ফাইল খুলুন:

এবং আমাদের পদ্ধতির রুট সংজ্ঞায়িত করুন:

রুট::গেট("auth/register", "Auth\AuthController@getRegister");

এখন ব্রাউজারে আমাদের অ্যাপ্লিকেশন ওপেন করা যাক। চমৎকার, আমরা নিবন্ধন ফর্ম দেখতে.

ব্যবহারকারী নিবন্ধন

চলুন অবিলম্বে ব্যবহারকারী নিবন্ধনের জন্য রুট সংজ্ঞায়িত করা যাক. ফাইলে যাওয়া যাক:

অ্যাপ/Http/Controllers/routes.php

এবং নিম্নলিখিত রুট যোগ করুন:

রুট::পোস্ট("auth/register", "Auth\AuthController@postRegister");

এখন ব্যবহারকারীদের সংরক্ষণ করার জন্য একটি টেবিল তৈরি করা যাক। এই টেবিলের জন্য ইতিমধ্যে একটি স্থানান্তর আছে, কিন্তু এটি আমাদের জন্য উপযুক্ত নয়। এর পরিবর্তন করা যাক. ফাইলে যাওয়া যাক:

Database/migrations/2014_10_12_create_users_table.php

এবং কোড পরিবর্তন করা যাক:

আমার ক্ষেত্রে এটি এই মত দেখায়:

bd.php সংরক্ষণ করুন।
দারুণ! আমাদের ডাটাবেসের একটি টেবিল এবং এটির সাথে একটি সংযোগ রয়েছে। এখন আপনি একটি পৃষ্ঠা তৈরি করা শুরু করতে পারেন যেখানে ব্যবহারকারীরা তাদের ডেটা ছেড়ে যাবে।

3. বিষয়বস্তু সহ একটি reg.php ফাইল তৈরি করুন (ভিতরের সমস্ত মন্তব্য):



নিবন্ধন


নিবন্ধন


আপনার লগইন:




আপনার পাসওয়ার্ড:








4. একটি ফাইল তৈরি করুন যা ডাটাবেসে ডেটা প্রবেশ করবে এবং ব্যবহারকারীকে সংরক্ষণ করবে। save_user.php (ভিতরে মন্তব্য):

5. এখন আমাদের ব্যবহারকারীরা নিবন্ধন করতে পারেন! এর পরে, ইতিমধ্যে নিবন্ধিত ব্যবহারকারীদের সাইটে প্রবেশ করার জন্য আপনাকে একটি "দরজা" তৈরি করতে হবে। index.php (ভিতরে মন্তব্য):




হোম পেজ


হোম পেজ


আপনার লগইন:


আপনার পাসওয়ার্ড:






নিবন্ধন



ঠিক আছে এখন সব শেষ! পাঠ বিরক্তিকর হতে পারে, কিন্তু খুব দরকারী. শুধুমাত্র রেজিস্ট্রেশনের ধারণাটি এখানে দেখানো হয়েছে, তারপরে আপনি এটিকে উন্নত করতে পারেন: নিরাপত্তা, নকশা, ডেটা ক্ষেত্র, অবতার লোড করা, আপনার অ্যাকাউন্ট থেকে লগ আউট করা (এটি করার জন্য, আনসেট ফাংশন সহ সেশন থেকে কেবল ভেরিয়েবলগুলি ধ্বংস করুন) এবং শীঘ্রই. শুভকামনা!

আমি সবকিছু পরীক্ষা করে দেখেছি, এটি সঠিকভাবে কাজ করে!

এই নিবন্ধে, আপনি শিখবেন কিভাবে HTML, JavaScript, PHP এবং MySql ব্যবহার করে একটি নিবন্ধন এবং লগইন ফর্ম তৈরি করতে হয়। এই ধরনের ফর্ম নির্বিশেষে প্রায় প্রতিটি ওয়েবসাইটে ব্যবহার করা হয়। এগুলি একটি ফোরাম, একটি অনলাইন স্টোর, সামাজিক নেটওয়ার্ক (যেমন Facebook, Twitter, Odnoklassniki) এবং অন্যান্য অনেক ধরণের সাইটের জন্য তৈরি করা হয়েছে।

যদি আপনার স্থানীয় কম্পিউটারে একটি ওয়েবসাইট থাকে, তাহলে আমি আশা করি আপনার কাছে ইতিমধ্যেই একটি স্থানীয় সার্ভার ইনস্টল এবং চলমান আছে। এটি ছাড়া, কিছুই কাজ করবে না।

ডাটাবেসে একটি টেবিল তৈরি করা

ব্যবহারকারী নিবন্ধন বাস্তবায়ন করার জন্য, প্রথমে আমাদের একটি ডেটাবেস প্রয়োজন। আপনার যদি এটি ইতিমধ্যেই থাকে তবে দুর্দান্ত, অন্যথায়, আপনাকে এটি তৈরি করতে হবে। নিবন্ধে, আমি বিস্তারিতভাবে ব্যাখ্যা করব কিভাবে এটি করতে হয়।

এবং তাই, আমাদের একটি ডেটাবেস আছে (সংক্ষেপে ডিবি), এখন আমাদের একটি টেবিল তৈরি করতে হবে ব্যবহারকারীদেরযেটিতে আমরা আমাদের নিবন্ধিত ব্যবহারকারীদের যুক্ত করব।

আমি নিবন্ধে একটি ডাটাবেসে একটি টেবিল তৈরি করার উপায় ব্যাখ্যা করেছি। একটি টেবিল তৈরি করার আগে, আমাদের নির্ধারণ করতে হবে এতে কী কী ক্ষেত্র থাকবে। এই ক্ষেত্রগুলি নিবন্ধন ফর্ম থেকে ক্ষেত্রগুলির সাথে মিলিত হবে৷

তাই, আমরা ভাবলাম, আমাদের ফর্মে কী কী ক্ষেত্র থাকবে তা আমরা কল্পনা করেছি এবং একটি টেবিল তৈরি করেছি ব্যবহারকারীদেরএই ক্ষেত্রগুলির সাথে:

  • আইডি- শনাক্তকারী। মাঠ আইডিডাটাবেসের প্রতিটি টেবিলে এটি থাকা উচিত।
  • নামের প্রথম অংশ- নাম বাঁচাতে।
  • নামের শেষাংশ- উপাধি সংরক্ষণ করতে।
  • ইমেইল- ডাক ঠিকানা সংরক্ষণ করতে. আমরা লগইন হিসাবে ই-মেইল ব্যবহার করব, তাই এই ক্ষেত্রটি অবশ্যই অনন্য হতে হবে, অর্থাৎ অনন্য সূচক থাকতে হবে।
  • email_status- মেইল ​​নিশ্চিত করা হয়েছে কিনা তা নির্দেশ করার জন্য ক্ষেত্র। যদি মেইলটি নিশ্চিত করা হয়, তাহলে এর মান 1 হবে, অন্যথায় মান 0 হবে।
  • পাসওয়ার্ড- পাসওয়ার্ড সংরক্ষণ করতে।


আপনি যদি আপনার নিবন্ধন ফর্মে অন্য কিছু ক্ষেত্র থাকতে চান তবে আপনি সেগুলি এখানে যোগ করতে পারেন।

এটা, আমাদের টেবিল ব্যবহারকারীদেরপ্রস্তুত. চলুন পরবর্তী পর্যায়ে চলুন.

ডাটাবেস সংযোগ

আমরা ডাটাবেস তৈরি করেছি, এখন আমাদের এটির সাথে সংযোগ করতে হবে। আমরা পিএইচপি এক্সটেনশন MySQLi ব্যবহার করে সংযোগ করব।

আমাদের সাইটের ফোল্ডারে নাম দিয়ে একটি ফাইল তৈরি করুন dbconnect.php, এবং এটিতে নিম্নলিখিত স্ক্রিপ্টটি লিখুন:

এই নথি dbconnect.phpফর্ম হ্যান্ডলারের সাথে সংযুক্ত হতে হবে।

পরিবর্তনশীল লক্ষ্য করুন $address_site, এখানে আমি আমার পরীক্ষার সাইটের নাম নির্দেশ করেছি যেটিতে আমি কাজ করব। সেই অনুযায়ী আপনার সাইটের নাম নির্দেশ করুন.

সাইটের গঠন

এখন আমাদের সাইটের এইচটিএমএল গঠন দেখুন।

আমরা সাইটের শিরোনাম এবং ফুটার আলাদা ফাইলে স্থানান্তর করব, header.phpএবং footer.php. আমরা তাদের সমস্ত পৃষ্ঠায় অন্তর্ভুক্ত করব। যথা প্রধান পৃষ্ঠায় (ফাইল index.php), নিবন্ধন ফর্ম সহ পৃষ্ঠায় (ফাইল form_register.php) এবং অনুমোদন ফর্ম সহ পৃষ্ঠায় (ফাইল form_auth.php).

আমাদের লিঙ্ক দিয়ে ব্লক করুন, নিবন্ধনএবং অনুমোদন, সেগুলিকে সাইটের শিরোনামে যুক্ত করুন যাতে সেগুলি সমস্ত পৃষ্ঠায় প্রদর্শিত হয়৷ একটি লিঙ্ক নিবন্ধন ফর্ম সহ পৃষ্ঠায় প্রবেশ করবে (ফাইল form_register.php) এবং অন্যটি অনুমোদনের ফর্ম সহ পৃষ্ঠায় (ফাইল form_auth.php).

header.php ফাইলের বিষয়বস্তু:

আমাদের সাইটের নাম

ফলস্বরূপ, আমাদের প্রধান পৃষ্ঠাটি এইরকম দেখায়:


অবশ্যই, আপনার সাইটের সম্পূর্ণ ভিন্ন কাঠামো থাকতে পারে, কিন্তু এটি এখন আমাদের জন্য গুরুত্বপূর্ণ নয়। মূল জিনিসটি নিবন্ধকরণ এবং অনুমোদনের জন্য লিঙ্ক (বোতাম) রয়েছে।

এখন রেজিস্ট্রেশন ফর্মে যাওয়া যাক। আপনি ইতিমধ্যে বুঝতে পেরেছেন, আমাদের কাছে এটি ফাইলে রয়েছে form_register.php.

ডাটাবেসে যান (phpMyAdmin-এ), টেবিলের কাঠামো খুলুন ব্যবহারকারীদেরএবং আমরা কি ক্ষেত্র প্রয়োজন তাকান. এর মানে হল যে আমাদের প্রথম এবং শেষ নাম প্রবেশের জন্য ক্ষেত্র, ডাক ঠিকানা (ইমেল) প্রবেশ করার জন্য একটি ক্ষেত্র এবং পাসওয়ার্ড প্রবেশের জন্য একটি ক্ষেত্র প্রয়োজন। এবং নিরাপত্তার উদ্দেশ্যে, আমরা একটি ক্যাপচা প্রবেশের জন্য একটি ক্ষেত্র যোগ করব।

সার্ভারে, নিবন্ধন ফর্ম প্রক্রিয়াকরণের ফলে, বিভিন্ন ত্রুটি ঘটতে পারে যার কারণে ব্যবহারকারী নিবন্ধন করতে পারবেন না। সুতরাং, ব্যবহারকারী কেন নিবন্ধন ব্যর্থ হয় তা বোঝার জন্য, এই ত্রুটিগুলি সম্পর্কে বার্তাগুলি প্রদর্শন করা প্রয়োজন৷

ফর্মটি প্রদর্শন করার আগে, সেশন থেকে ত্রুটি বার্তাগুলি প্রদর্শন করতে একটি ব্লক যুক্ত করুন৷

এবং আরও একটি জিনিস, যদি ব্যবহারকারী ইতিমধ্যে অনুমোদিত হয় এবং কৌতূহলের বাইরে তিনি ব্রাউজারের ঠিকানা বারে লিখে সরাসরি নিবন্ধন পৃষ্ঠায় যান site_address/form_register.php, তারপর এই ক্ষেত্রে, নিবন্ধন ফর্মের পরিবর্তে, আমরা একটি শিরোনাম প্রদর্শন করব যাতে বলা হয় যে তিনি ইতিমধ্যে নিবন্ধিত।

সাধারণভাবে, ফাইল কোড form_register.phpআমরা এটা পেয়েছি:

আপনি ইতোমধ্যে নিবন্ধিত

ব্রাউজারে, নিবন্ধন ফর্ম সহ পৃষ্ঠাটি এইরকম দেখায়:


প্রয়োজনীয় বৈশিষ্ট্য ব্যবহার করে, আমরা সমস্ত ক্ষেত্র বাধ্যতামূলক করেছি।

রেজিস্ট্রেশন ফর্মের কোডে মনোযোগ দিন যেখানে ক্যাপচা প্রদর্শিত হয়:


আমরা ইমেজের জন্য src অ্যাট্রিবিউটের মান দিয়ে ফাইলের পাথ নির্দিষ্ট করেছি captcha.php, যা এই ক্যাপচা তৈরি করে।

চলুন ফাইল কোড তাকান captcha.php:

কোডটি ভালভাবে মন্তব্য করা হয়েছে, তাই আমি শুধুমাত্র একটি পয়েন্টে ফোকাস করব।

একটি ফাংশন ভিতরে imageTtfText(), ফন্টের পথ নির্দিষ্ট করা আছে verdana.ttf. তাই ক্যাপচা সঠিকভাবে কাজ করার জন্য, আমাদের অবশ্যই একটি ফোল্ডার তৈরি করতে হবে ফন্ট, এবং সেখানে ফন্ট ফাইল রাখুন verdana.ttf. আপনি এটি খুঁজে পেতে এবং ইন্টারনেট থেকে ডাউনলোড করতে পারেন, অথবা এই নিবন্ধের উপকরণ সহ সংরক্ষণাগার থেকে নিতে পারেন।

আমরা এইচটিএমএল স্ট্রাকচার শেষ করেছি, এখন এগিয়ে যাওয়ার সময়।

jQuery ব্যবহার করে ইমেলের বৈধতা পরীক্ষা করা হচ্ছে

যেকোনো ফর্মের জন্য ক্লায়েন্ট সাইডে (জাভাস্ক্রিপ্ট, jQuery ব্যবহার করে) এবং সার্ভার সাইডে, প্রবেশ করা ডেটার বৈধতা পরীক্ষা করতে হবে।

আমাদের ইমেল ক্ষেত্রে বিশেষ মনোযোগ দিতে হবে। এটা খুবই গুরুত্বপূর্ণ যে প্রবেশ করা ডাক ঠিকানাটি বৈধ।

এই ইনপুট ক্ষেত্রের জন্য, আমরা ইমেলের ধরন সেট করি (type="email"), এটি আমাদেরকে ভুল বিন্যাসের বিরুদ্ধে সামান্য সতর্ক করে। তবে এটি যথেষ্ট নয়, কারণ ব্রাউজারটি আমাদের সরবরাহ করে এমন কোড পরিদর্শকের মাধ্যমে আমরা সহজেই বৈশিষ্ট্যের মান পরিবর্তন করতে পারি টাইপসঙ্গে ইমেইলচালু পাঠ্য, এবং এটাই, আমাদের চেক আর বৈধ হবে না।


এবং এই ক্ষেত্রে, আমাদের অবশ্যই আরও নির্ভরযোগ্য চেক করতে হবে। এটি করার জন্য, আমরা JavaScript থেকে jQuery লাইব্রেরি ব্যবহার করব।

ফাইলটিতে jQuery লাইব্রেরি সংযোগ করতে header.phpট্যাগের মধ্যে , ক্লোজিং ট্যাগের আগে , এই লাইন যোগ করুন:

এই লাইনের পরপরই, আমরা ইমেল যাচাইকরণ কোড যোগ করব। এখানে আমরা প্রবেশ করা পাসওয়ার্ডের দৈর্ঘ্য পরীক্ষা করার জন্য একটি কোড যোগ করব। এর দৈর্ঘ্য কমপক্ষে 6 অক্ষর হতে হবে।

এই স্ক্রিপ্টটি ব্যবহার করে, আমরা বৈধতার জন্য প্রবেশ করা ইমেল ঠিকানাটি পরীক্ষা করি। যদি ব্যবহারকারী একটি ভুল ইমেল প্রবেশ করে, আমরা এটি সম্পর্কে একটি ত্রুটি বার্তা প্রদর্শন করি এবং ফর্ম জমা দেওয়ার বোতামটি অক্ষম করি৷ যদি সবকিছু ঠিক থাকে, তাহলে আমরা ত্রুটিটি সরিয়ে ফেলি এবং ফর্ম জমা দেওয়ার বোতামটি সক্রিয় করি।

এবং তাই, আমরা ক্লায়েন্ট পক্ষের ফর্ম বৈধতা দিয়ে সম্পন্ন করা হয়. এখন আমরা এটি সার্ভারে পাঠাতে পারি, যেখানে আমরা কয়েকটি চেক করব এবং ডাটাবেসে ডেটা যোগ করব।

বেবহারকারির রেজিস্ট্রেশান

আমরা প্রক্রিয়াকরণের জন্য ফাইলটিতে ফর্মটি পাঠাই register.php, POST পদ্ধতির মাধ্যমে। এই হ্যান্ডলার ফাইলের নাম অ্যাট্রিবিউট ভ্যালুতে নির্দিষ্ট করা আছে কর্ম. এবং পাঠানোর পদ্ধতিটি অ্যাট্রিবিউটের মানটিতে উল্লেখ করা হয়েছে পদ্ধতি.

এই ফাইলটি খুলুন register.phpএবং প্রথমে আমাদের যা করতে হবে তা হল একটি সেশন লঞ্চ ফাংশন লিখুন এবং আমরা আগে যে ফাইলটি তৈরি করেছি তা সংযুক্ত করুন dbconnect.php(এই ফাইলটিতে আমরা ডাটাবেসের সাথে একটি সংযোগ তৈরি করেছি)। এবং এছাড়াও, আসুন অবিলম্বে কোষগুলি ঘোষণা করি ভুল বার্তাএবং সফলতার_বার্তাগ্লোবাল সেশন অ্যারেতে। ভিতরে ত্রুটি_বার্তাআমরা ফর্ম প্রক্রিয়াকরণের সময় ঘটে যাওয়া সমস্ত ত্রুটি বার্তা রেকর্ড করব এবং এর মধ্যে succes_messages, আমরা আনন্দের বার্তা রেকর্ড করব।

আমরা চালিয়ে যাওয়ার আগে, ফর্মটি আদৌ জমা দেওয়া হয়েছে কিনা তা আমাদের পরীক্ষা করতে হবে। একজন আক্রমণকারী বৈশিষ্ট্য মান দেখতে পারেন কর্মফর্ম থেকে, এবং খুঁজে বের করুন কোন ফাইলটি এই ফর্মটি প্রক্রিয়া করছে৷ এবং ব্রাউজারের ঠিকানা বারে নিম্নলিখিত ঠিকানাটি টাইপ করে সরাসরি এই ফাইলটিতে যাওয়ার ধারণা থাকতে পারে: http://site_address/register.php

তাই আমাদের গ্লোবাল POST অ্যারেতে একটি ঘরের জন্য পরীক্ষা করতে হবে যার নাম ফর্ম থেকে আমাদের "রেজিস্টার" বোতামের নামের সাথে মেলে। এইভাবে আমরা পরীক্ষা করি যে "রেজিস্টার" বোতামটি ক্লিক করা হয়েছে কি না।

যদি কোনো আক্রমণকারী সরাসরি এই ফাইলে যাওয়ার চেষ্টা করে, তাহলে তারা একটি ত্রুটির বার্তা পাবে। আমি আপনাকে মনে করিয়ে দিই যে $address_site ভেরিয়েবলটিতে সাইটের নাম রয়েছে এবং এটি ফাইলে ঘোষণা করা হয়েছিল dbconnect.php.

সেশনের ক্যাপচা মানটি ফাইলে তৈরি করার সময় যোগ করা হয়েছিল captcha.php. একটি অনুস্মারক হিসাবে, আমি আপনাকে ফাইল থেকে কোডের এই অংশটি আবার দেখাব captcha.php, যেখানে ক্যাপচা মান সেশনে যোগ করা হয়:

এখন আসুন যাচাইকরণে এগিয়ে যাই। ফাইলে register.php, if ব্লকের ভিতরে, যেখানে আমরা পরীক্ষা করি যে "রেজিস্টার" বোতামটি ক্লিক করা হয়েছে কিনা, অথবা যেখানে মন্তব্যটি " নির্দেশিত হয়েছে" // (1) কোডের পরবর্তী অংশের জন্য স্থান"আমরা লিখি:

//প্রাপ্ত ক্যাপচা চেক করুন // লাইনের শুরু এবং শেষ থেকে স্পেস ট্রিম করুন $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //সেশন থেকে প্রাপ্ত মানের সাথে তুলনা করুন। if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] !=""))( // যদি ক্যাপচা সঠিক না হয়, তাহলে আমরা ব্যবহারকারীকে নিবন্ধন পৃষ্ঠায় ফিরিয়ে দিই, এবং সেখানে আমরা তাকে একটি ত্রুটি বার্তা প্রদর্শন করব যে সে ভুল ক্যাপচা প্রবেশ করেছে৷ $error_message = "

ত্রুটি! আপনি ভুল ক্যাপচা প্রবেশ করেছেন

"; // সেশনে ত্রুটি বার্তাটি সংরক্ষণ করুন৷ $_SESSION["error_messages"] = $error_message; // ব্যবহারকারীকে নিবন্ধন পৃষ্ঠার শিরোনামে ফিরিয়ে দিন ("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: " .$address_site ."/form_register.php"); // স্ক্রিপ্ট থেকে প্রস্থান বন্ধ করুন ("

ত্রুটি! কোন ভেরিফিকেশন কোড নেই, অর্থাৎ একটি ক্যাপচা কোড। আপনি মূল পৃষ্ঠায় যেতে পারেন.

"); }

পরবর্তী, আমাদের POST অ্যারে থেকে প্রাপ্ত ডেটা প্রক্রিয়া করতে হবে। প্রথমত, আমাদের গ্লোবাল POST অ্যারের বিষয়বস্তু পরীক্ষা করতে হবে, অর্থাৎ, সেখানে এমন কোন সেল আছে কি না যাদের নাম আমাদের ফর্ম থেকে ইনপুট ফিল্ডের নামের সাথে মিলে যায়।

যদি সেলটি বিদ্যমান থাকে, তাহলে আমরা এই ঘর থেকে লাইনের শুরু এবং শেষ থেকে স্পেস ট্রিম করি, অন্যথায়, আমরা ব্যবহারকারীকে রেজিস্ট্রেশন ফর্ম সহ পৃষ্ঠায় পুনঃনির্দেশ করি।

এরপরে, আমরা স্পেস ট্রিম করার পর, আমরা ভেরিয়েবলের সাথে লাইনটি যোগ করি এবং এই ভেরিয়েবলটি খালি করার জন্য চেক করি; যদি এটি খালি না থাকে, তাহলে আমরা এগিয়ে যাই, অন্যথায় আমরা ব্যবহারকারীকে রেজিস্ট্রেশন ফর্ম সহ পৃষ্ঠায় পুনঃনির্দেশ করি।

এই কোডটি নির্দিষ্ট স্থানে পেস্ট করুন" // (2) কোডের পরবর্তী অংশের জন্য স্থান".

/* গ্লোবাল অ্যারে $_POST-এ ফর্ম থেকে ডেটা পাঠানো হয়েছে কিনা তা পরীক্ষা করুন এবং জমা দেওয়া ডেটা নিয়মিত ভেরিয়েবলে মোড়ানো।*/ if(isset($_POST["first_name"]))( //শুরু থেকে স্পেস ট্রিম করুন এবং স্ট্রিং এর শেষ $first_name = trim($_POST["first_name"]); // শূন্যতার জন্য ভেরিয়েবল চেক করুন যদি(!empty($first_name))( // নিরাপত্তার জন্য, বিশেষ অক্ষরকে HTML সত্তায় রূপান্তর করুন $first_name = htmlspecialchars($first_name, ENT_QUOTES) ; )else( // সেশনে ত্রুটি বার্তা সংরক্ষণ করুন। $_SESSION["error_messages"] .= "

আপনার নাম প্রবেশ করুন

নাম ক্ষেত্র অনুপস্থিত

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) if( isset($_POST["last_name"]))( // লাইনের শুরু এবং শেষ থেকে স্পেস ট্রিম করুন $last_name = trim($_POST["last_name"]); if(!empty($last_name)) ( // নিরাপত্তার জন্য, বিশেষ অক্ষরগুলিকে HTML সত্তায় রূপান্তর করুন $last_name = htmlspecialchars($last_name, ENT_QUOTES); ) অন্যথায়( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .= "

তোমার নামের শেষ অংশ দাও

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) )অন্যথা ( // সেশনে ত্রুটি বার্তা সংরক্ষণ করুন। $_SESSION["error_messages"] .="

পদবি ক্ষেত্র অনুপস্থিত

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) if( isset($_POST["email"]))( // লাইনের শুরু এবং শেষ থেকে স্পেস ট্রিম করুন $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) ইমেল ঠিকানার বিন্যাস এবং এর স্বতন্ত্রতা পরীক্ষা করার জন্য কোড অবস্থান) অন্যথায়( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .="

তুমার ইমেইল প্রবেশ করাও

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) )অন্যথা ( // সেশনে ত্রুটি বার্তা সংরক্ষণ করুন। $_SESSION["error_messages"] .="

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) if( isset($_POST["password"]))( //স্ট্রিং এর শুরু এবং শেষ থেকে স্পেস ট্রিম করুন $password = trim($_POST["password"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //পাসওয়ার্ডটি এনক্রিপ্ট করুন $password = md5($password."top_secret"); )অন্যথায়( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .="

আপনার পাসওয়ার্ড লিখুন

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) )অন্যথা ( // সেশনে ত্রুটি বার্তা সংরক্ষণ করুন। $_SESSION["error_messages"] .="

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) // (4) ডাটাবেসে একজন ব্যবহারকারী যোগ করার জন্য কোডের জন্য স্থান

বিশেষ গুরুত্ব হল ক্ষেত্র ইমেইল. আমাদের অবশ্যই প্রাপ্ত ডাক ঠিকানার বিন্যাস এবং ডাটাবেসে এর স্বতন্ত্রতা পরীক্ষা করতে হবে। অর্থাৎ, একই ইমেল ঠিকানায় ইতিমধ্যে নিবন্ধিত কোনো ব্যবহারকারী আছে কি?

নির্দিষ্ট স্থানে" // (3) পোস্টাল ঠিকানার বিন্যাস এবং এর স্বতন্ত্রতা পরীক্ষা করতে কোড অবস্থান" নিম্নলিখিত কোড যোগ করুন:

//রেগুলার এক্সপ্রেশন $reg_email = "/^**@(+(*+)*\.)++/i" ব্যবহার করে প্রাপ্ত ইমেল ঠিকানার বিন্যাস চেক করুন; //যদি প্রাপ্ত ইমেল ঠিকানার বিন্যাস নিয়মিত অভিব্যক্তির সাথে মেলে না if(!preg_match($reg_email, $email))( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .= "

আপনি একটি ভুল ইমেল প্রবেশ করান

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) // আমরা এই ধরনের ঠিকানা ইতিমধ্যেই ডাটাবেসে আছে কিনা তা পরীক্ষা করি। $result_query = $mysqli->query("নির্বাচন করুন `ইমেল` ফ্রম `ব্যবহারকারী` যেখানে `ইমেল`="।"$ ইমেল।"""); / /যদি প্রাপ্ত সংখ্যা ঠিক একটি সারি থাকে, যার মানে এই ইমেল ঠিকানার ব্যবহারকারী ইতিমধ্যেই নিবন্ধিত যদি($result_query->num_rows == 1)( //যদি ফলাফলটি মিথ্যা না হয় যদি($row = $result_query->fetch_assoc()) != false) ( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .="

এই ইমেল ঠিকানা সহ একটি ব্যবহারকারী ইতিমধ্যে নিবন্ধিত আছে

"; // ব্যবহারকারীকে নিবন্ধন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); )অন্যথায়(// ত্রুটি বার্তাটি সংরক্ষণ করুন অধিবেশনে। $_SESSION["error_messages"] .="

ডাটাবেস ক্যোয়ারীতে ত্রুটি

"; // ব্যবহারকারীকে নিবন্ধন পৃষ্ঠার শিরোনামে ফেরত দিন ("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম ("অবস্থান: ".$address_site."/form_register.php"); ) /* নির্বাচন বন্ধ করা */ $ result_query-> ক্লোজ(); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); ) /* নির্বাচন বন্ধ করুন */ $result_query->close();

এবং তাই, আমরা সমস্ত চেক সম্পন্ন করেছি, এটি ব্যবহারকারীকে ডাটাবেসে যুক্ত করার সময়। নির্দিষ্ট স্থানে" // (4) ডাটাবেসে একজন ব্যবহারকারী যোগ করার জন্য কোডের জন্য স্থান" নিম্নলিখিত কোড যোগ করুন:

//ডাটাবেসে একজন ব্যবহারকারী যোগ করার জন্য প্রশ্ন $result_query_insert = $mysqli->query("INSERT INTO `users` (first_name, last_name, email, password) VALUES ("".$first_name."", "".$last_name ." ", "।$ ইমেইল।", "।$ পাসওয়ার্ড।"")"); if(!$result_query_insert)( // ত্রুটি বার্তাটি সেশনে সংরক্ষণ করুন। $_SESSION["error_messages"] .= "

ডাটাবেসে ব্যবহারকারী যোগ করার অনুরোধে ত্রুটি

"; // ব্যবহারকারীকে রেজিস্ট্রেশন পৃষ্ঠার শিরোনামে ফেরত দিন("HTTP/1.1 301 স্থায়ীভাবে সরানো"); শিরোনাম("অবস্থান: ".$address_site."/form_register.php"); // স্ক্রিপ্ট প্রস্থান বন্ধ করুন(); )অন্যথায়( $_SESSION["success_messages"] = "

রেজিস্ট্রেশন সফলভাবে সম্পন্ন হয়েছে!!!
এখন আপনি আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করে লগ ইন করতে পারেন।

"; // ব্যবহারকারীকে অনুমোদন পৃষ্ঠার শিরোনামে পাঠান("HTTP/1.1 301 স্থায়ীভাবে সরানো হয়েছে"); শিরোনাম ("অবস্থান: ".$address_site."/form_auth.php"); ) /* অনুরোধটি সম্পূর্ণ করা */ $ result_query_insert-> close(); //ডাটাবেসের সাথে সংযোগ বন্ধ করুন $mysqli->close();

যদি ডাটাবেসে একজন ব্যবহারকারীকে যুক্ত করার অনুরোধে একটি ত্রুটি ঘটে, আমরা সেশনে এই ত্রুটি সম্পর্কে একটি বার্তা যুক্ত করি এবং ব্যবহারকারীকে নিবন্ধন পৃষ্ঠায় ফিরিয়ে দিই।

অন্যথায়, সবকিছু ঠিকঠাক থাকলে, আমরা সেশনে একটি বার্তাও যোগ করি, কিন্তু এবার এটি আরও আনন্দদায়ক, যেমন আমরা ব্যবহারকারীকে বলি যে নিবন্ধন সফল হয়েছে। এবং আমরা অনুমোদনের ফর্ম সহ এটিকে পৃষ্ঠায় পুনঃনির্দেশ করি৷

ইমেল ঠিকানা বিন্যাস এবং পাসওয়ার্ডের দৈর্ঘ্য পরীক্ষা করার জন্য স্ক্রিপ্ট ফাইলটিতে রয়েছে header.php, তাই এটি এই ফর্ম থেকে ক্ষেত্রগুলিতেও প্রযোজ্য হবে৷

ফাইলে সেশনও শুরু হয় header.php, তাই ফাইলে form_auth.phpএকটি অধিবেশন শুরু করার কোন প্রয়োজন নেই, কারণ আমরা একটি ত্রুটি পেতে হবে.


আমি আগেই বলেছি, ইমেল ঠিকানা বিন্যাস এবং পাসওয়ার্ডের দৈর্ঘ্য পরীক্ষা করার জন্য স্ক্রিপ্ট এখানে কাজ করে। অতএব, যদি ব্যবহারকারী একটি ভুল ইমেল ঠিকানা বা সংক্ষিপ্ত পাসওয়ার্ড প্রবেশ করেন, তিনি অবিলম্বে একটি ত্রুটি বার্তা পাবেন। একটি বোতাম আসতেনিষ্ক্রিয় হয়ে যাবে।

ত্রুটিগুলি ঠিক করার পরে, বোতামটি আসতেসক্রিয় হয়ে ওঠে, এবং ব্যবহারকারী সার্ভারে ফর্মটি জমা দিতে সক্ষম হবে, যেখানে এটি প্রক্রিয়া করা হবে।

ব্যবহারকারীর অনুমোদন

মান বৈশিষ্ট্য কর্মঅনুমোদন প্রতিবন্ধকতা একটি নির্দিষ্ট ফাইল আছে auth.php, এর মানে হল যে ফর্মটি এই ফাইলে প্রক্রিয়া করা হবে।

এবং তাই, ফাইল খুলুন auth.phpএবং অনুমোদন ফর্ম প্রক্রিয়া করার জন্য কোড লিখুন। আপনাকে প্রথমে একটি সেশন শুরু করতে হবে এবং ফাইলটি সংযুক্ত করতে হবে dbconnect.phpডাটাবেসের সাথে সংযোগ করতে।

আপনি সাইট থেকে প্রস্থান লিঙ্কে ক্লিক করলে, আমরা একটি ফাইলে নিয়ে যাই logout.php, যেখানে আমরা সেশন থেকে ইমেল ঠিকানা এবং পাসওয়ার্ড সহ কোষগুলিকে ধ্বংস করি। এর পরে, আমরা ব্যবহারকারীকে সেই পৃষ্ঠায় ফিরিয়ে দিই যেখানে লিঙ্কটি ক্লিক করা হয়েছিল প্রস্থান.

ফাইল কোড logout.php:

এখানেই শেষ. এখন আপনি জানেন কিভাবে আপনার ওয়েবসাইটে ব্যবহারকারীর নিবন্ধন এবং অনুমোদনের ফর্মগুলি বাস্তবায়ন এবং প্রক্রিয়া করতে হয়৷ এই ফর্মগুলি প্রায় প্রতিটি ওয়েবসাইটে পাওয়া যায়, তাই প্রতিটি প্রোগ্রামারকে সেগুলি কীভাবে তৈরি করতে হয় তা জানা উচিত।

আমরা ক্লায়েন্ট সাইডে (ব্রাউজারে, জাভাস্ক্রিপ্ট, jQuery ব্যবহার করে) এবং সার্ভার সাইডে (PHP ব্যবহার করে) উভয় ক্ষেত্রে ইনপুট ডেটা যাচাই করতে শিখেছি। আমরা সাইট ছেড়ে যাওয়ার জন্য একটি পদ্ধতি কিভাবে বাস্তবায়ন করতে হয় তাও শিখেছি।

সমস্ত স্ক্রিপ্ট পরীক্ষা করা হয়েছে এবং কাজ করছে. আপনি এই লিঙ্ক থেকে এই ছোট সাইটের ফাইল সহ আর্কাইভ ডাউনলোড করতে পারেন।

ভবিষ্যতে আমি একটি নিবন্ধ লিখব যেখানে আমি বর্ণনা করব। এবং আমি একটি নিবন্ধ লেখার পরিকল্পনা করেছি যেখানে আমি ব্যাখ্যা করব (পৃষ্ঠাটি পুনরায় লোড না করে)। সুতরাং, নতুন নিবন্ধ প্রকাশ সম্পর্কে অবগত থাকার জন্য, আপনি আমার ওয়েবসাইটে সাবস্ক্রাইব করতে পারেন।

যদি আপনার কোন প্রশ্ন থাকে, আমার সাথে যোগাযোগ করুন, এবং আপনি যদি নিবন্ধে কোন ত্রুটি লক্ষ্য করেন, দয়া করে আমাকে জানান।

পাঠ পরিকল্পনা (অংশ 5):

  • অনুমোদন ফর্মের জন্য একটি HTML কাঠামো তৈরি করা
  • আমরা প্রাপ্ত ডেটা প্রক্রিয়া করি
  • আমরা সাইটের হেডারে ব্যবহারকারীর শুভেচ্ছা প্রদর্শন করি
  • আপনি নিবন্ধটি পছন্দ করেছেন?

    আমরা শিখব কিভাবে সাইটে সাধারণ ব্যবহারকারী প্রমাণীকরণ করতে হয়। সাইটে শুধুমাত্র অনুমোদিত ব্যবহারকারীদের জন্য পৃষ্ঠা থাকতে পারে, এবং যদি আমরা তাদের সাথে আমাদের প্রমাণীকরণ ব্লক যোগ করি তাহলে সেগুলি পুরোপুরি কাজ করবে। এটি তৈরি করতে, আপনার একটি MySQL ডাটাবেস প্রয়োজন। আপনি ব্যবহারকারীদের সম্পর্কে তথ্য যোগ করতে চাইলে এতে 5টি কলাম (ন্যূনতম) বা তার বেশি থাকতে পারে। ডাটাবেসটিকে "Userauth" বলি।

    এর মধ্যে নিম্নলিখিত ক্ষেত্রগুলি তৈরি করা যাক: ব্যবহারকারীর সংখ্যা গণনার জন্য আইডি, ব্যবহারকারীর অনন্য সনাক্তকরণ নম্বরের জন্য UID, ব্যবহারকারীর নামের জন্য ব্যবহারকারীর নাম, তার ইমেল ঠিকানার জন্য ইমেল এবং পাসওয়ার্ডের জন্য পাসওয়ার্ড৷ আপনি ব্যবহারকারীকে অনুমোদন করতে আপনার বিদ্যমান ডাটাবেস ব্যবহার করতে পারেন, ঠিক যেমন একটি নতুন ডাটাবেসের ক্ষেত্রে, এতে নিম্নলিখিত টেবিলটি তৈরি করুন।

    মাইএসকিউএল কোড

    টেবিল তৈরি করুন `ব্যবহারকারী` (`ID` int (11) NOT NULL AUTO_INCREMENT, `UID` int (11) NOT NULL, `Username` পাঠ্য NOT NULL, `Email` পাঠ্য NOT NULL, `Password` পাঠ্য NOT NULL, প্রাথমিক কী (`ID`)) ENGINE=MyISAM ডিফল্ট চারসেট=utf8 AUTO_INCREMENT=1 ;

    এখন "sql.php" ফাইলটি তৈরি করা যাক। এটি ডাটাবেসের সাথে সংযোগের জন্য দায়ী। এই কোড, প্রথমত, সার্ভার এবং ব্যবহারকারীর জন্য ভেরিয়েবল তৈরি করে যখন সে সার্ভারের সাথে সংযোগ করে। দ্বিতীয়ত, এটি ডাটাবেস নির্বাচন করবে, এই ক্ষেত্রে "USERAUTH"। ডাটাবেস অ্যাক্সেস করতে এই ফাইলটিকে অবশ্যই "log.php" এবং "reg.php"-এ অন্তর্ভুক্ত করতে হবে।

    পিএইচপি কোড

    এরপরে রয়েছে লগইন পৃষ্ঠা, একে বলা হোক "login.php"। প্রথমত, এটি ত্রুটির জন্য প্রবেশ করা ডেটা পরীক্ষা করে। পৃষ্ঠাটিতে ব্যবহারকারীর নাম, পাসওয়ার্ড, সাবমিট বোতাম এবং নিবন্ধন লিঙ্কের জন্য ক্ষেত্র রয়েছে। ব্যবহারকারী যখন "লগইন" বোতামে ক্লিক করেন, ফর্মটি "log.php" ফাইল থেকে কোড দ্বারা প্রক্রিয়া করা হবে এবং তারপরে লগ ইন করা হবে৷

    পিএইচপি কোড

    লগইন ফরম

    ব্যবহারকারীর নাম
    পাসওয়ার্ড
    নিবন্ধন

    তারপরে আমরা সিস্টেমে লগ ইন করার জন্য একটি স্ক্রিপ্ট লিখি। আসুন এটিকে "log.php" বলি। এসকিউএল ইনজেকশন থেকে ইনপুট ডেটা পরিষ্কার করার জন্য এটির একটি ফাংশন রয়েছে যা আপনার স্ক্রিপ্টকে নষ্ট করতে পারে। দ্বিতীয়ত, এটি ফর্ম ডেটা গ্রহণ করে এবং সঠিকতার জন্য এটি পরীক্ষা করে। ইনপুট ডেটা সঠিক হলে, স্ক্রিপ্ট ব্যবহারকারীকে অনুমোদিত ব্যবহারকারী পৃষ্ঠায় পাঠায়, যদি না হয়, তবে এটি ত্রুটি সেট করে এবং ব্যবহারকারীকে লগইন পৃষ্ঠায় পাঠায়।

    পিএইচপি কোড

    আসুন একটি নিবন্ধন পৃষ্ঠা তৈরি করি, এটিকে "register.php" বলুন। এটি লগইন পৃষ্ঠার অনুরূপ, শুধুমাত্র এটিতে আরও কয়েকটি ক্ষেত্র রয়েছে এবং একটি নিবন্ধন লিঙ্কের পরিবর্তে, ব্যবহারকারীর ইতিমধ্যে একটি অ্যাকাউন্ট থাকলে login.php-এর একটি লিঙ্ক রয়েছে৷

    পিএইচপি কোড

    নিবন্ধন ফর্ম

    ব্যবহারকারীর নাম
    ইমেইল
    পাসওয়ার্ড
    পুনরাবৃত্তি পাসওয়ার্ড
    আমার একটি একাউন্ট আছে

    এখন আমরা "reg.php" ফাইলে একটি নিবন্ধন স্ক্রিপ্ট তৈরি করব। ডাটাবেসের সাথে সংযোগ করতে এটি "sql.php" অন্তর্ভুক্ত করবে। ইনপুট ক্ষেত্রটি সাফ করতে লগইন স্ক্রিপ্টের মতো একই ফাংশন ব্যবহার করা হয়। সম্ভাব্য ত্রুটির জন্য ভেরিয়েবল সেট করা হয়। পরবর্তী একটি অনন্য শনাক্তকারী তৈরি করার একটি ফাংশন যা আগে কখনও দেওয়া হয়নি। রেজিস্ট্রেশন ফর্ম থেকে ডেটা বের করে যাচাই করা হয়। ইমেল ঠিকানাটি সঠিক বিন্যাসে এবং পাসওয়ার্ডটি সঠিকভাবে পুনরায় প্রবেশ করানো হয়েছে তা নিশ্চিত করার জন্য একটি চেক করা হয়। স্ক্রিপ্ট তারপর ডাটাবেসে একই নামের ব্যবহারকারী আছে কিনা তা পরীক্ষা করে এবং যদি তাই হয়, একটি ত্রুটি রিপোর্ট করে। অবশেষে, কোডটি ব্যবহারকারীকে ডাটাবেসে যুক্ত করে।

    পিএইচপি কোড

    সিস্টেম থেকে ব্যবহারকারীকে লগ আউট করার জন্য আপনাকে একটি স্ক্রিপ্ট তৈরি করতে হবে। এটি প্রদত্ত অনন্য আইডি এবং নাম সহ ব্যবহারকারীর জন্য সেশনটি সমাপ্ত করে এবং তারপর ব্যবহারকারীকে লগইন পৃষ্ঠায় পুনঃনির্দেশ করে।

    পিএইচপি কোড

    অবশেষে, "auth.php" স্ক্রিপ্ট শুধুমাত্র অনুমোদিত ব্যবহারকারীদের জন্য পৃষ্ঠাগুলি অ্যাক্সেসযোগ্য করতে ব্যবহার করা যেতে পারে। এটি লগইন বিশদ পরীক্ষা করে এবং, যদি সেগুলি সঠিক হয়, ব্যবহারকারীকে পৃষ্ঠাগুলি ব্রাউজ করার অনুমতি দেয়, এবং যদি না হয়, তাদের লগ ইন করতে বলে৷ উপরন্তু, কেউ যদি সেশনগুলির মধ্যে একটি তৈরি করে সাইটটি হ্যাক করার চেষ্টা করে, তবে এটি বাধাগ্রস্ত হবে, যেমন সাধারণ ক্ষেত্রে।

    পিএইচপি কোড

    উপরের কোডের শর্তগুলির মধ্যে একটি হল প্রশ্নটির বিষয়।

    নিম্নলিখিত কোডটি অনুমোদিত ব্যবহারকারীদের জন্য পৃষ্ঠায় ঢোকানো প্রয়োজন, এটিকে বলা হয়, উদাহরণস্বরূপ, "member.php", কিন্তু আপনার যা খুশি তা বলা যেতে পারে।

    পিএইচপি কোড

    আপনি এই পৃষ্ঠা অ্যাক্সেস করার জন্য অনুমোদিত. বাহিরে যাও ( )

    ব্যবহারকারী প্রমাণীকরণ প্রস্তুত!

    ভিন্সি 5ই এপ্রিল, 2018-এ শেষবার সংশোধন করেছেন।

    ব্যবহারকারী লগইন এবং নিবন্ধন যে কোনো CMS অ্যাপ্লিকেশনের জন্য একটি মৌলিক প্রয়োজন. এটি একটি প্রকল্প শুরু করার সময় প্রাথমিক কাজ। ব্যবহারকারী লগইন প্রমাণীকরণ সহ অ্যাপ্লিকেশন বেনামী অ্যাক্সেস প্রতিরোধ করে নিরাপত্তা প্রদান করে। আমাদের অ্যাপ্লিকেশনে প্রমাণীকরণ সক্ষম করার বিভিন্ন উপায় রয়েছে যেমন OAuth লগইন সক্ষম করে বা একক সাইন-অন (SSO) এবং অনুরূপ অন্যান্য উপায়ে প্রয়োগ করে৷ আগের টিউটোরিয়ালে আমরা দেখেছি কিভাবে বাস্তবায়ন করতে হয় এবং এর সম্পর্কেও।

    এই উদাহরণে লগইন এবং নিবন্ধন কার্যকারিতা উভয়ই অন্তর্ভুক্ত রয়েছে। আমি নিবন্ধিত সদস্যদের সংরক্ষণ করতে MySQL ডাটাবেস ব্যবহার করেছি। ব্যবহারকারীর নিবন্ধন ব্যবহারকারীর কাছ থেকে বিশদ পেতে ইনপুট ধারণ করবে। এই ফর্ম জমা দেওয়ার পরে, ফর্ম ডেটা পিএইচপি-তে পোস্ট করা হয় এবং ডাটাবেসে সংরক্ষণ করা হয়। ডাটাবেসে সংরক্ষণ করার আগে ব্যবহারকারীর পাসওয়ার্ড এনক্রিপ্ট করা হবে। পিএইচপি কোডে পোস্ট করার আগে। যখন ব্যবহারকারী বৈধ শংসাপত্রের সাথে লগ ইন করেন, তখন ব্যবহারকারী এবং তাকে আরও এগিয়ে যাওয়ার অনুমতি দেওয়া হবে।

    ব্যবহারকারী নিবন্ধন ফর্ম

    এই কোডটি ব্যবহারকারীকে সাইনআপ ফর্ম দেখানোর জন্য। যখন ব্যবহারকারী তার বিশদ বিবরণ সহ ফর্মটি জমা দেয়, তখন ব্যবহারকারীর ইনপুট যাচাই করতে JavaScript ফাংশনটি কল করা হবে। সফল যাচাইকরণের পর, PHP কোড ডাটাবেস সন্নিবেশ কার্যকর করতে পোস্ট করা ফর্ম ডেটা পড়বে।