ХОНХ

Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
Имэйл
Нэр
Овог
Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
Спам байхгүй

Сүүлийн шинэчлэлт: 2015/11/1

Вэбсайтаас өгөгдөл дамжуулах гол аргуудын нэг бол маягт боловсруулах явдал юм. Маягтууд нь төрөл бүрийн оролтын элементүүдийг агуулсан тусгай HTML тэмдэглэгээний элементүүдийг төлөөлдөг - текст талбарууд, товчлуурууд гэх мэт. Мөн эдгээр маягтуудын тусламжтайгаар бид зарим өгөгдлийг оруулаад сервер рүү илгээх боломжтой. Мөн сервер энэ өгөгдлийг аль хэдийн боловсруулж байна.

Маягт үүсгэх нь дараах хэсгүүдээс бүрдэнэ.

    HTML тэмдэглэгээнд элемент үүсгэж байна

    Энэ элементэд нэг буюу хэд хэдэн оруулах талбар нэмнэ

    Өгөгдөл дамжуулах аргыг тохируулах: GET эсвэл POST

    Оруулсан өгөгдлийг илгээх хаягийг тохируулах

Тиймээс шинэ маягт үүсгэцгээе. Үүнийг хийхийн тулд бид шинэ form.php файлыг тодорхойлж, дараах агуулгыг байрлуулна.

Сайт руу нэвтрэх Нэвтрэх:

Нууц үг:

Маягтын элементийн action="login.php" шинж чанар нь маягтын өгөгдлийг скриптээр боловсруулна гэдгийг харуулж байна. login.php, файлтай хамт байрлах болно form.phpнэг хавтсанд. Мөн method="POST" шинж чанар нь POST аргыг өгөгдөл дамжуулах арга болгон ашиглах болно гэдгийг харуулж байна.

Одоо файл үүсгэцгээе login.php, дараах агуулгатай байна:

Маягтын өгөгдлийг авахын тулд $_POST глобал хувьсагчийг ашигладаг. Энэ нь POST аргыг ашиглан илгээсэн өгөгдлийн ассоциатив массивыг төлөөлдөг. Түлхүүрүүдийг ашиглан бид илгээсэн утгыг авах боломжтой. Энэ массив дахь түлхүүрүүд нь маягтын оролтын талбаруудын нэрсийн шинж чанаруудын утгууд юм.

Нэвтрэх оролтын талбарын нэрийн атрибут нь login() утгатай тул $_POST массив дахь энэ талбарын утга нь "нэвтрэх" түлхүүрийг илэрхийлнэ: $_POST["login"]

Жишээлбэл, скрипт рүү шууд орох үед оролтын талбарыг тохируулахгүй байх нөхцөл байдал үүсч магадгүй юм. http://localhost:8080/login.php. Энэ тохиолдолд өгөгдлийг боловсруулахаасаа өмнө isset() функцийг ашиглан өгөгдөл байгаа эсэхийг шалгахыг зөвлөж байна. Хэрэв хувьсагчийг тохируулсан бол isset() функц нь үнэнийг буцаана.

Одоо бид маягт руу хандаж болно:

Мөн товчлуурыг дарахад оруулсан өгөгдлийг POST аргыг ашиглан скрипт рүү илгээх болно. login.php:

Маягтын өгөгдлийг өөр скрипт рүү илгээх шаардлагагүй бөгөөд та маягтын өгөгдлийг ижил маягтын файлд боловсруулж болно. Үүнийг хийхийн тулд файлаа өөрчилье form.phpдараах байдлаар:

Сайт руу нэвтрэх Нэвтрэх:

Нууц үг:

Өгөгдлийн аюулгүй байдал

Өгөгдлийн аюулгүй байдал нь PHP-д маш чухал юм. Манай вэбсайтын аюулгүй байдлыг сайжруулах хэд хэдэн энгийн механизмуудыг авч үзье.

Гэхдээ эхлээд өмнөх сэдвийн маягтыг авч, түүнд зарим өгөгдлийг оруулахыг хичээцгээе. Жишээлбэл, нэвтрэх талбарт "alert(hi);", нууц үгийн талбарт "нууц үг" гэж бичнэ үү.

Өгөгдлийг html тэмдэглэгээнд илгээсний дараа javascript кодыг оруулах бөгөөд энэ нь мессеж бүхий цонхыг харуулах болно.

Ийм аюулгүй байдлын асуудлаас зайлсхийхийн тулд та htmlentities() функцийг ашиглах хэрэгтэй:

If(isset($_POST["login"]) && isset($_POST["нууц үг"]))( $login=htmlentities($_POST["login"]); $password = htmlentities($_POST["нууц үг" ]); echo "Таны нэвтрэх: $login
Таны нууц үг: $password";)

Html эсвэл javascript кодыг оруулсны дараа ч гэсэн бүх хаягууд зугтаж, бид дараах гаралтыг авах болно.

Өөр нэг функц - strip_tags() функц нь html хаягуудыг бүрэн хасах боломжийг танд олгоно.

If(isset($_POST["login"]) && isset($_POST["нууц үг"]))( $login=strip_tags($_POST["login"]); $нууц үг = strip_tags($_POST["нууц үг" ]); echo "Таны нэвтрэх: $login
Таны нууц үг: $password";)

Ижил оролттой түүний үйл ажиллагааны үр дүн нь дараах гаралт болно.

Laravel нь хөгжмийн зохиолчоос төслийн хамаарлыг удирдахыг шаарддаг. Тиймээс Laravel-ийг суулгахаасаа өмнө систем дээрээ Composer суулгасан эсэхээ шалгаарай. Хэрэв та Composer-ийн талаар анх удаа сонсож байгаа бол энэ нь node-ийн npm-тэй төстэй php-ийн хамаарлыг удирдах хэрэгсэл юм.

Composer программыг компьютер дээрээ суулгахын тулд дараах бичлэгийг шалгана уу.

Windows дээр Laravel суулгах:

Windows машин дээр laravel суулгахын тулд доорх алхмуудыг дагана уу. Та xampp/wamp стектэй байсан хамаагүй энэ нь хоёуланд нь тохирно. WAMP дээр laravel-ийг "www" хавтас болон XAMPP дээр суулгаж байгаарай, мэдээж "htdocs".

АЛХАМ-1) XAMPP дээр "htdocs" хавтсыг нээгээд SHIFT товчийг дараад хавтас дээр хулганы баруун товчийг дараад "командын цонхыг энд нээх" гэснийг сонгоно уу. Эсвэл та тушаалын цонхыг нээж, лавлахыг "xampp/htdocs" болгож өөрчилж болно.

АЛХАМ-2) Дараах командыг оруулна уу.

Хөгжмийн зохиолч үүсгэх-төсөл laravel/laravel my_laravel_site --prefer-dist

Энд "my_laravel_site" нь laravel файлуудыг суулгах хавтасны нэр юм. Үүнийг өөрийн үзэмжээр өөрчил.

АЛХАМ-3) Ларавел суулгахад нэлээд хугацаа шаардагдах тул тэвчээртэй байх цаг болжээ.

АЛХАМ-4) Суулгасны дараа командын мөрөнд лавлахыг "my_laravel_site" (cd "my_laravel_site") болгон өөрчилж, доорх командыг оруулна уу.

Php гар урчуудаар үйлчилдэг

АЛХАМ-5) Энэ нь url-ийн хамт "Laravel хөгжүүлэлтийн сервер эхэлсэн:" гэх мэт мессежийг харуулах болно.

АЛХАМ-6) Хөтөч дээр URL хаягийг хуулж буулгана уу. Хэрэв бүх зүйл зөв болвол та laravel мэндчилгээний дэлгэцийг харах болно.

АЛХАМ-7) Дууслаа! Та Windows машин дээр laravel-ийг амжилттай суулгаж, ашиглахад бэлэн боллоо.

Хэрэглээний түлхүүрийг тохируулах:

Laravel нь суулгасны дараа бага зэрэг тохиргоо шаарддаг. Энэ нь таныг програмын түлхүүрийг тохируулахыг шаарддаг. Энэ нь сесс болон бусад эмзэг өгөгдлийг шифрлэхэд ашигладаг 32 тэмдэгтээс бүрдэх санамсаргүй мөр юм. Энэ нь ихэвчлэн laravel-ийг хөгжмийн зохиолч эсвэл laravel суулгагчаар суулгах үед автоматаар тохируулагдана.

Хэрэв тохируулаагүй бол та үүнийг гараар хийх хэрэгтэй. Эхлээд ".env.example" файлын нэрийг өөрийн програмын үндэс дээрх ".env" болгож өөрчлөх хэрэгтэй. Дараа нь командын мөрийг нээж, laravel төслийн хавтас руу өөрчилнө үү. Одоо түлхүүрийг үүсгэхийн тулд доорх тушаалыг ажиллуулна уу.

Php гар урлалын түлхүүр: үүсгэх

Энэ үүсгэсэн түлхүүрийг ".env" файл дээрх APP_KEY хувьсагч руу хуулна уу. Хадгалаад дууслаа.

Тусгай Laravel хувилбарыг суулгаж байна:

Дээрх арга нь хөгжмийн зохиолчийг laravel-ийн хамгийн сүүлийн хувилбарыг татан авч суулгах боломжийг олгоно. Хэрэв та laravel-ийн өмнөх хувилбаруудыг машин дээрээ суулгахыг хүсвэл create-project команд дээр холбогдох хувилбарын дугаарыг оруулахаа мартуузай.

Composer create-project laravel/laravel=5.4 your-project-name --prefer-dist Мөн уншина уу:

Үүнтэй адил та чадна Composer ашиглан laravel-ийг цонхон дээр хялбархан суулгаарай. Энэ заавар танд хэрэг болно гэж найдаж байна. Таалагдсан бол сошиал хvрээлэн дээрээ шэйр хийгээрэй.

Маягт гэж юу вэ?

Та вэбсайт эсвэл шуудангийн хайрцагт нэвтрэх үед маягттай харилцаж байна.

Маягтууд нь хэрэглэгчээс оролт авч, вэб серверт боловсруулалтанд оруулахад ашиглагддаг.

Доорх диаграмм нь маягтыг боловсруулах үйл явцыг харуулж байна.

Маягт нь оролтын хайрцаг, шалгах хайрцаг гэх мэт хэрэглэгчийн график интерфейсийн зүйлсийг агуулсан HTML шошго юм.

Маягтыг ... хаягуудыг ашиглан тодорхойлж, GUI зүйлсийг оролт гэх мэт хэлбэрийн элементүүдийг ашиглан тодорхойлно.

Энэ зааварт та сурах болно-

Бид хэзээ, яагаад маягтыг ашиглаж байна вэ?
  • Маягтууд нь хэрэглэгчийн оруулсан мэдээллийг хүлээн авах уян хатан, динамик програмуудыг боловсруулахад хэрэг болдог.
  • Маягтыг мэдээллийн сангаас байгаа өгөгдлийг засахад ашиглаж болно
Маягт үүсгэх

Бид маягт үүсгэхийн тулд HTML хаягуудыг ашиглах болно. Маягт үүсгэхэд шаардлагатай зүйлсийн хамгийн бага жагсаалтыг доор харуулав.

  • Маягтын шошгыг нээж, хааж байна...
  • Маягт илгээх төрөл POST эсвэл GET
  • Илгээсэн өгөгдлийг боловсруулах URL хаяг
  • Оруулах талбарууд, тухайлбал оролтын талбарууд, текстийн талбарууд, товчлуурууд, шалгах хайрцагууд гэх мэт.

Доорх код нь энгийн бүртгэлийн маягт үүсгэдэг

Бүртгэлийн маягт Бүртгэлийн маягт Нэр:
Овог:

Дээрх кодыг вэб хөтөч дээр үзэхэд дараах маягт гарч ирнэ.


  • ... нь нээх, хаах маягтын шошгууд юм
  • action="registration_form.php" method="POST"> нь очих URL болон мэдүүлгийн төрлийг зааж өгдөг.
  • Нэр/Овог: оролтын хайрцагт зориулсан шошго юм
  • нь оролтын хайрцагны шошго юм

  • шинэ мөрийн шошго юм
  • нь маягтыг илгээсэн эсэхийг шалгахад хэрэглэгддэг далд утга юм
  • Энэ нь дарахад маягтыг серверт боловсруулахаар илгээдэг товчлуур юм
Маягтын өгөгдлийг серверт илгээж байна

Маягтын үйлдлийн шинж чанар нь өгөгдлийг боловсруулдаг илгээх URL-г зааж өгдөг. Аргын атрибут нь илгээлтийн төрлийг тодорхойлдог.

PHP POST арга
  • Энэ бол HTTP POST аргаар илгээсэн утгыг авахад ашигладаг PHP-ийн супер глобал массив хувьсагч юм.
  • Хэрэв та маягтын нийтлэлийн утгыг URL дээр харуулахыг хүсэхгүй байгаа бол энэ арга тохиромжтой.
  • Нэвтрэх мэдээллийг серверт илгээх үед шуудангийн аргыг ашиглах сайн жишээ юм.

Энэ нь дараах синтакстай.

  • “$_POST[…]” нь PHP массив юм
PHP GET арга
  • Энэ бол HTTP GET аргаар илгээсэн утгыг авахад хэрэглэгддэг PHP-ийн супер глобал массив хувьсагч юм.
  • Програмын аль ч скриптээс массив хувьсагч руу хандах боломжтой; энэ нь дэлхийн хэмжээний цар хүрээтэй.
  • Энэ арга нь URL дахь маягтын утгыг харуулдаг.
  • Энэ нь хайлтын системийн маягтуудад тохиромжтой, учир нь хэрэглэгчдэд үр дүнг тэмдэглэх боломжийг олгодог.

Энэ нь дараах синтакстай.

  • “$_GET[…]” нь PHP массив юм
  • ""хувьсагчийн_нэр"" нь URL хувьсагчийн нэр юм.
GET vs POST аргууд POST GET
URL дээр харагдахгүй утгууд URL дээр харагдах утгууд
HTTP-ийн биетээр илгээгдсэн тул утгуудын уртыг хязгаарлаагүй Утгын уртыг ихэвчлэн 255 тэмдэгтээр хязгаарладаг. Учир нь утгууд нь URL дээр харагдаж байна. Тэмдэгтүүдийн дээд хязгаар нь хөтөчөөс хамаарна гэдгийг анхаарна уу.
HTTP биед Php_POST утгуудыг багтаахад зарцуулсан цаг хугацаанаас болж Php_GET аргатай харьцуулахад гүйцэтгэл бага байна. URL дахь утгыг нэмэх энгийн шинж чанартай тул POST аргатай харьцуулахад өндөр гүйцэтгэлтэй.
Мөр, тоон, хоёртын гэх мэт олон төрлийн өгөгдлийн төрлийг дэмждэг. Утга нь URL дээр харагдаж байгаа тул зөвхөн мөрийн өгөгдлийн төрлийг дэмждэг
Үр дүнг тэмдэглэх боломжгүй URL дахь утгуудын харагдах байдлаас шалтгаалан үр дүнг тэмдэглэж болно

Доорх диаграмм нь get болон post хоёрын ялгааг харуулж байна



Бүртгэлийн маягтын өгөгдлийг боловсруулж байна

Бүртгэлийн маягт нь маягтын үйлдлийн шинж чанарт заасан өгөгдлийг өөртөө илгээдэг.

Маягтыг илгээх үед утгуудыг $_POST супер глобал массивт оруулна.

Бид PHP isset функцийг ашиглан $_POST массив дахь маягтын утгууд бөглөсөн эсэхийг шалгаж, өгөгдлийг боловсруулна.

Бид бүртгэлийн маягтыг өөрчлөх бөгөөд өгөгдлийг боловсруулдаг PHP кодыг оруулах болно. Өөрчлөгдсөн кодыг доор харуулав

Бүртгэлийн маягт //Маягтыг илгээх үед энэ кодыг гүйцэтгэнэ Баярлалаа

Та бүртгүүлсэн байна

Маягт руу буцна уу

Бүртгэлийн маягт Нэр:
Овог: $_POST массив дахь form_submitted далд талбарыг бөглөсөн эсэхийг шалгаж, талархал болон нэрийн мессежийг харуулна.

Хэрэв $_POST массив дахь form_fobmitted талбарыг бөглөөгүй бол маягт гарч ирнэ.

Бусад жишээнүүд Энгийн хайлтын систем

Бид маягт илгээх төрөл болгон PHP_GET аргыг ашигладаг энгийн хайлтын системийг зохион бүтээх болно.

Энгийн байх үүднээс бид гаралтыг тодорхойлохын тулд PHP If хэллэгийг ашиглана.

Бид дээрх бүртгэлийн маягтанд ижил HTML кодыг ашиглах бөгөөд үүнд хамгийн бага өөрчлөлт оруулах болно.

Энгийн хайлтын системийн хайлтын үр дүн

GET арга нь URL дээр өөрийн утгыг харуулдаг

Уучлаарай, таны хайлтад тохирох зүйл олдсонгүй

Маягт руу буцна уу

Энгийн хайлтын систем - GET хайлтын нэр томъёог оруулна уу:

Дээрх хуудсыг вэб хөтчөөр харна уу

Дараах маягтыг харуулах болно

Том үсгээр GET гэж бичээд илгээх товчийг дарна уу.

Дараахыг харуулах болно

Доорх диаграм нь дээрх үр дүнгийн URL-г харуулж байна

URL нь хайлтын_нэр томъёо болон илгээсэн маягтын утгыг харуулсан болохыг анхаарна уу. GET-ээс өөр зүйл оруулахыг оролдоод, илгээх товчийг дарж, ямар үр дүнд хүрэхээ харна уу.

Шалгах хайрцаг, радио товчлууруудтай ажиллах

Хэрэв хэрэглэгч шалгах хайрцаг эсвэл радио товчлуурыг сонгоогүй бол ямар ч утга оруулахгүй, хэрэв хэрэглэгч шалгах хайрцаг эсвэл радио товчлуурыг сонговол нэг (1) эсвэл үнэн утгыг илгээнэ.

Бид бүртгэлийн маягтын кодыг өөрчилж, хэрэглэгчийн үйлчилгээний нөхцөлийг зөвшөөрөх шалгах товчлуурыг оруулах болно.

Бүртгэлийн маягт

Та манай үйлчилгээний нөхцөлийг хүлээн зөвшөөрөөгүй байна

Баярлалаа

Та бүртгүүлсэн байна

Маягт руу буцна уу

Бүртгэлийн маягт Нэр:
Овог:
Үйлчилгээний нөхцөлийг зөвшөөрч байна:

Дээрх маягтыг хөтөч дээр үзнэ үү

Reg.ru: домэйн ба хостинг

ОХУ-ын хамгийн том бүртгэгч, хостинг үйлчилгээ үзүүлэгч.

Үйлчилгээнд байгаа 2 сая гаруй домэйн нэр.

Сурталчилгаа, домайн шуудан, бизнесийн шийдэл.

Дэлхий даяар 700 мянга гаруй үйлчлүүлэгч сонголтоо хийчихсэн байна.

* Гүйлгэх үйлдлийг түр зогсоохын тулд хулганаа дээшлүүлнэ.

Буцаад урагшаа

PHP болон MySQL дээр энгийн хэрэглэгчийн бүртгэлийн системийг бий болгох

Бүртгэлийн системийг бий болгох нь маш их ажил юм. Та имэйл хаягийг баталгаажуулах, бүртгэлийг баталгаажуулах имэйл илгээх, бусад маягтын талбаруудыг баталгаажуулах гэх мэт олон зүйлийг бичих хэрэгтэй.

Мөн энэ бүхнийг бичсэний дараа ч хэрэглэгчид бүртгүүлэхээс татгалзах болно, учир нь... энэ нь тэднээс тодорхой хүчин чармайлт шаарддаг.

Энэ зааварт бид нууц үг огт шаарддаггүй, хадгалдаггүй маш энгийн бүртгэлийн системийг бий болгох болно! Үр дүн нь одоо байгаа PHP сайтыг өөрчлөх, нэмэхэд хялбар байх болно. Энэ нь хэрхэн ажилладагийг мэдэхийг хүсч байна уу? Доор уншина уу.



Манай супер энгийн систем дараах байдлаар ажиллах болно.

Бид зөвшөөрлийн маягт болон бүртгэлийг хослуулах болно. Энэ маягт нь таны имэйл хаягийг оруулах талбар, бүртгэлийн товчлууртай байх болно;
- Имэйл хаягийн талбарыг бөглөхдөө бүртгүүлэх товчийг дарснаар шинэ хэрэглэгчийн тухай бүртгэл үүсэх бөгөөд зөвхөн оруулсан имэйл хаяг мэдээллийн санд олдоогүй тохиолдолд л болно.

Үүний дараа санамсаргүй өвөрмөц тэмдэгтүүдийн багц (жетон) үүсгэгддэг бөгөөд энэ нь хэрэглэгчийн заасан имэйл рүү 10 минутын турш холбогдох холбоос хэлбэрээр илгээгдэнэ;
- Холбоос нь хэрэглэгчийг манай вэбсайт руу хүргэдэг. Систем нь жетон байгаа эсэхийг тодорхойлж, хэрэглэгчийг зөвшөөрөх;

Энэ аргын давуу талууд:

Нууц үг хадгалах эсвэл талбарыг баталгаажуулах шаардлагагүй;
- Нууц үг, аюулгүй байдлын асуулт гэх мэтийг сэргээх шаардлагагүй;
- Хэрэглэгч бүртгүүлсэн/нэвтэрсэн үеэс эхлэн энэ хэрэглэгч таны нэвтрэх бүсэд байх болно гэдэгт итгэлтэй байж болно (имэйл хаяг үнэн);
- Бүртгэлийн гайхалтай энгийн үйл явц;

Алдаа:

Хэрэглэгчийн бүртгэлийн аюулгүй байдал. Хэрэв хэн нэгэн хэрэглэгчийн имэйлд хандах эрхтэй бол нэвтэрч болно.
- Имэйл аюулгүй биш бөгөөд түүнийг саатуулах боломжтой. Энэ асуулт нь нууц үгээ мартсан, сэргээх шаардлагатай тохиолдолд эсвэл өгөгдөл дамжуулахад HTTPS ашигладаггүй аливаа зөвшөөрлийн системд (нэвтрэх/нууц үг) хамааралтай гэдгийг санаарай.
- Та мэйл серверээ зөв тохируулж байх үед зөвшөөрлийн холбоос бүхий мессежүүд спам болж дуусах магадлалтай;

Манай системийн давуу болон сул талуудыг харьцуулж үзвэл уг систем нь ашиглах чадвар өндөр (эцсийн хэрэглэгчдэд хамгийн их тав тухтай байдал) бөгөөд үүний зэрэгцээ аюулгүй байдлын үзүүлэлт багатай гэж хэлж болно.

Тиймээс үүнийг чухал мэдээлэлтэй ажиллахгүй форум, үйлчилгээнд бүртгүүлэхэд ашиглахыг зөвлөж байна.

Энэ системийг хэрхэн ашиглах вэ

Хэрэв та өөрийн сайтын хэрэглэгчдэд зөвшөөрөл олгох систем ашиглах шаардлагатай бөгөөд энэ хичээлийг хэсэгчлэн авахыг хүсэхгүй байгаа бол та дараах зүйлийг хийх хэрэгтэй.

Та хичээлд хавсаргасан эх сурвалжуудыг татаж авах хэрэгтэй
- Архиваас tables.sql файлыг хайж олоод phpMyAdmin доторх импортын сонголтыг ашиглан өөрийн мэдээллийн сандаа оруулж болно. Альтернатив арга: энэ файлыг текст засварлагчаар нээж, SQL хайлтыг хуулж, ажиллуулах;
- include/main.php-г нээж, өөрийн мэдээллийн сантай холбогдох тохиргоог бөглөнө үү (өгөгдлийн сантай холбогдох хэрэглэгч, нууц үг, мөн мэдээллийн сангийн хост болон нэрийг зааж өгнө үү). Ижил файлд та системээс илгээсэн мессежийн анхны хаяг болгон ашиглах имэйлийг зааж өгөх ёстой. Маягт нь хостын удирдлагын самбараас үүсгэгдсэн жинхэнэ имэйл хаягийг агуулаагүй тохиолдолд зарим хостууд гарч буй имэйлийг блоклодог тул жинхэнэ хаягаа оруулна уу;
- Бүх index.php, protected.php файлууд болон хөрөнгийг FTP-ээр дамжуулан өөрийн хост руу хавтас оруулах;
- Нэвтрэх маягтыг харуулахыг хүссэн PHP хуудас бүрт доорх кодыг нэмнэ үү;

Require_once "includes/main.php"; $хэрэглэгч = шинэ хэрэглэгч(); if(!$user->loggedIn())( redirect("index.php"); )
- Бэлэн!

Энэ бүхэн хэрхэн ажилладагийг сонирхож буй хүмүүст зориулж доороос уншина уу!

Эхний алхам бол зөвшөөрлийн маягтын HTM кодыг бичих явдал юм. Энэ код нь index.php файлд байрладаг. Энэ файл нь маягтын өгөгдөл болон бусад хэрэгтэй нэвтрэх системийн функцуудыг зохицуулдаг PHP кодыг агуулдаг. Та энэ талаар PHP кодын тоймд зориулагдсан доорх хэсгээс илүү ихийг мэдэж болно.

index.php

Заавар: PHP & MySQL-ээр нэвтрэх эсвэл бүртгүүлэх боломжтой супер энгийн бүртгэлийн систем

Дээрх имэйл хаягаа оруулна уу, бид илгээх болно
Та нэвтрэх холбоос.

Нэвтрэх/Бүртгүүлэх

Толгой хэсэгт (болон шошгонуудын хооронд) би үндсэн загваруудыг оруулсан (энэ зааварт тусгагдаагүй тул та өөрөө харж болно. Folder assets/css/style.css). Хаалтын тагны өмнө би jQuery номын сан болон script.js файлыг оруулсан бөгөөд бид доор бичиж, дүн шинжилгээ хийх болно.


JavaScript

jQuery нь уг функцийг ашиглан "Бүртгүүлэх/Нэвтрэх" товчлуурын төлөвийг хянадаг e.preventDefault()мөн AJAX хүсэлтийг илгээдэг. Серверийн хариултаас хамааран энэ нь нэг юмуу өөр мессежийг харуулж, цаашдын үйлдлийг тодорхойлно/

assets/js/script.js

$(функц())( var form = $("#нэвтрэх-регистр"); form.on("илгээх", функц(e)( if(form.is(".loading, .loggedIn"))( буцах худал ; ) var email = form.find("оролт").val(), messageHolder = form.find("span"); e.preventDefault(); $.post(this.action, (имэйл: имэйл), функц (m)( if(m.error)( form.addClass("алдаа"); messageHolder.text(m.message); ) else(form.removeClass("алдаа").addClass("loggedIn"); messageHolder . text(m.message); ))) )); )); $(баримт бичиг).ajaxStart(функц())(form.addClass("ачаалах"); )); $(баримт бичиг).ajaxComplete(функц()) (хэлбэр. removeClass("ачаалах"); )); ));

AJAX хүсэлтийн одоогийн төлөвийг харуулахын тулд маягтанд нэмсэн (энэ нь аргуудын ачаар боломжтой болсон ajaxStart()) Мөн ajaxComplete(), та үүнийг файлын төгсгөлд олж болно).

Энэ анги нь эргэлдэж буй хөдөлгөөнт GIF файлыг харуулдаг (хүсэлт боловсруулагдаж байгааг сануулж байгаа мэт), мөн маягтыг дахин илгээхээс сэргийлж (бүртгэх товчийг аль хэдийн нэг удаа дарсан үед) тугийн үүрэг гүйцэтгэдэг. .loggedIn анги нь өөр туг бөгөөд энэ нь имэйл илгээсэн үед тохируулагдсан байдаг. Энэ туг нь маягтын цаашдын үйлдлийг шууд блоклодог.

Өгөгдлийн сангийн схем

Манай гайхалтай энгийн бүртгэлийн систем нь 2 MySQL хүснэгтийг ашигладаг (SQL код нь tables.sql файлд байгаа). Эхнийх нь хэрэглэгчийн бүртгэлийн мэдээллийг хадгалдаг. Хоёр дахь нь нэвтрэх оролдлогын талаарх мэдээллийг хадгалдаг.


Хэрэглэгчийн хүснэгтийн схем.

Диаграмаас харахад систем нь нууц үг ашигладаггүй. Үүн дээр та token_validity баганын хажууд жетон бүхий токен баганыг харж болно. Хэрэглэгч системд холбогдож, имэйлээ мессеж илгээхээр тохируулангуут ​​уг жетон суулгагддаг (дараагийн хэсэгт энэ талаар дэлгэрэнгүй үзнэ үү). Token_validity багана нь 10 минутын дараа цагийг тохируулах бөгөөд дараа нь жетон хүчингүй болно.


Зөвшөөрлийн оролдлогын тоог тоолох хүснэгтийн схем.

Хоёр хүснэгтэд IP хаягийг бүхэл тооны талбарт ip2long функцийг ашиглан боловсруулсан хэлбэрээр хадгалдаг.

Одоо бид PHP код бичиж болно. Системийн үндсэн функц нь User.class.php ангилалд хуваарилагдсан бөгөөд үүнийг доороос харж болно.

Энэ анги нь idorm (docs)-ийг идэвхтэй ашигладаг бөгөөд эдгээр сангууд нь мэдээллийн сантай ажиллахад шаардлагатай хамгийн бага хэрэгсэл юм. Энэ нь мэдээллийн санд хандах, токен үүсгэх, токен баталгаажуулалтыг зохицуулдаг. Энэ нь PHP ашигладаг бол бүртгэлийн системийг өөрийн сайт руу холбоход хялбар болгодог энгийн интерфейсээр хангадаг.

User.class.php

Class User( // Private ORM case private $orm; /** * Хэрэглэгчийг токеноор олно. Зөвхөн хүчинтэй жетонуудыг авч үзэх боломжтой. Токен нь үүсгэгдсэн цагаасаа хойш 10 минутын дотор л үүсгэгдэнэ * @param string $token Энэ бол бидний хайж буй токен юм * @return Хэрэглэгч Хэрэглэгчийн функцийн утгыг буцаана */ нийтийн статик функц findByToken($token)( // мэдээллийн сангаас токеныг олж, зөв ​​цагийн тэмдэг тохируулсан эсэхийг шалгана уу $result = ORM::for_table("reg_users") ->where ("token", $token) ->where_raw("token_validity > NOW()") ->find_one(); if(!$result)( return false; ) буцаах шинэ User($result); ) /** * Хэрэглэгчийг зөвшөөрөл өгөх эсвэл бүртгүүлэх * @param string $email Хэрэглэгчийн имэйл хаяг * @return User */ public static function loginOrRegister($email)( // Хэрэв тийм хэрэглэгч аль хэдийн байгаа бол байгаа бол мэдээллийн санд хадгалагдсан заасан имэйл хаягаас Хэрэглэгчийн функцийн утгыг буцаана уу if(User::exists($email))( return new User($email); ) // Үгүй бол мэдээллийн санд шинэ хэрэглэгч үүсгэнэ үү. мөн заасан имэйлээс User::create функцийн утгыг буцаана. User::create($email ); ) /** * Шинэ хэрэглэгч үүсгээд мэдээллийн санд хадгална уу * @param string $email. Хэрэглэгчийн имэйл хаяг * @return Хэрэглэгч */ private static function create($email)( // Шинэ хэрэглэгч бичиж, эдгээр утгуудаас Хэрэглэгчийн функцийн үр дүнг буцаана $result = ORM::for_table("reg_users")- >create(); $result->email = $email; $result->save(); return new User($result); ) /** * Өгөгдлийн санд ийм хэрэглэгч байгаа эсэхийг шалгаад Boolean утгыг буцаана. хувьсагч * @param string $email. Хэрэглэгчийн цахим шуудангийн хаяг * @return boolean */ нийтийн статик функц байгаа($имэйл)( // Хэрэглэгч мэдээллийн санд байгаа юу? $үр дүн = ORM::for_table("reg_users") ->where("email", $email ) ->count(); return $result == 1; ) /** * Шинэ хэрэглэгчийн объект үүсгэх * @param instance $param ORM , id, email эсвэл 0 * @return User */ public function __construct($param = null) ( if($param instanceof ORM)( // ORM шалгалтыг давсан $this->orm = $param; ) else if(is_string($param))( // Имэйл шалгах $this->orm = ORM:: for_table ("reg_users") ->where("email", $param) ->find_one(); ) else( $id = 0; if(is_numeric($param))( // $param хувьсагчийн утга нь хэрэглэгчийн танигч руу дамжуулсан $id = $param; ) else if(isset($_SESSION["loginid"]))( // Үгүй бол сессийг харна уу $id = $_SESSION["loginid"]; ) $this->orm = ORM::for_table( "reg_users") ->where("id", $id) ->find_one(); ) ) /** * Шинэ SHA1 зөвшөөрлийн токен үүсгэж, мэдээллийн санд бичиж, утгыг нь буцаана * @return string */ public function generateToken( )( // Зөвшөөрөгдсөн хэрэглэгчдэд токен үүсгэж, мэдээллийн санд хадгална $token = sha1($this->email.time().rand(0, 1000000)); // Токеныг мэдээллийн санд хадгалах // Зөвхөн дараагийн 10 минутын хугацаанд хүчинтэй байхаар тэмдэглээрэй $this->orm->set("token", $token); $this->orm->set_expr("token_validity", "ADDTIME(NOW(),"0:10")"); $this->orm->save(); $ жетон буцаах; ) /** * Хэрэглэгчийг зөвшөөрөл олгох * @return void */ нийтийн функц login())( // Хэрэглэгчийг нэвтэрсэн гэж тэмдэглэх $_SESSION["loginid"] = $this->orm->id; // last_login өгөгдлийн сангийн талбарын утга $this->orm->set_expr("last_login", "NOW()"); $this->orm->save(); ) /** * Сессийг устгаад хэрэглэгчийг гаргана. * @return void */ нийтийн функцээс гарах ()( $_SESSION = массив(); unset($_SESSION); ) /** * Хэрэглэгч нэвтэрсэн эсэхийг шалгах * @return boolean */ нийтийн функц loggedIn())( return isset($this->orm->id) && $_SESSION["loginid"] == $this->orm->id; ) /** * Хэрэглэгч администратор эсэхийг шалгана * @return boolean */ public function isAdmin())( return $this->rank() = = "administrator"; ) /** * Хэрэглэгчийн төрлийг олох, администратор эсвэл энгийн * @return string байж болно */ public function rank())( бол ($this->orm->rank == 1)( return "administrator" "; ) return "regular"; ) /** * Хэрэглэгчийн объектын * шинж чанараар хэрэглэгчийн хувийн мэдээллийг авах боломжийг олгодог арга * @ param string $key хандалт авах өмчийн нэр * @return mixed */ нийтийн функц __get($key)( if(isset($this->orm->$key))( return $this->orm-> $ түлхүүр; ) null буцаана; ) )

Токенуудыг SHA1 алгоритм ашиглан үүсгэж мэдээллийн санд хадгалдаг. Би токен хүчинтэй байх 10 минутын хугацааг тогтоохын тулд MySQL-ийн цагийн функцуудыг ашиглаж байна.

Токеныг баталгаажуулах үед бид зөвхөн token_validity баганад хадгалагдсан хугацаа нь дуусаагүй жетонуудыг авч үзэж байгаа гэдгээ шууд хариуцагчдаа хэлдэг.

Би ид шидийн аргыг хэрэглэж байгааг анхаарна уу __авахХэрэглэгчийн объектын шинж чанарт хандах хандалтыг таслан зогсоохын тулд файлын төгсгөлд байгаа docs номын сан.

Үүний ачаар $user->email, $user->token гэх мэт шинж чанаруудын ачаар өгөгдлийн санд хадгалагдсан мэдээлэлд хандах боломжтой болсон. Дараагийн кодын фрагмент дээр бид эдгээр классуудыг жишээ болгон хэрхэн ашиглах талаар авч үзэх болно. .


Хамгаалагдсан хуудас

Хэрэгтэй, шаардлагатай функцуудыг хадгалдаг өөр нэг файл бол functions.php файл юм. Туслах гэж нэрлэгддэг хэд хэдэн туслах функцууд байдаг бөгөөд эдгээр нь бусад файлуудад илүү цэвэр, унших боломжтой код үүсгэх боломжийг олгодог.

functions.php

send_email функц ($from, $to, $subject, $message)( // Имэйл илгээдэг туслах $толгой = "MIME хувилбар: 1.0" . "\r\n"; $толгой .= "Агуулгын төрөл: текст /plain; charset=utf-8" . "\r\n"; $headers .= "Хэнээс: ".$from . "\r\n"; буцах мэйл($ to, $subject, $message, $headers ); ) функц get_page_url())( // PHP файлын URL-г тодорхойлох $url = "http".(empty($_SERVER["HTTPS"])?"":"s")."://" .$_SERVER ["SERVER_NAME"]; if(isset($_SERVER["REQUEST_URI"]) && $_SERVER["REQUEST_URI"] != "")( $url.= $_SERVER["REQUEST_URI"]; ) өөр( $url. = $_SERVER["PATH_INFO"]; ) буцаана $url; ) функц rate_limit($ip, $limit_hour = 20, $limit_10_min = 10)( // Сүүлийн нэг цагийн дотор энэ IP хаяг руу нэвтрэх оролдлогын тоо $ count_hour = ORM: :for_table("reg_login_attempt") ->where("ip", sprintf("%u", ip2long($ip))) ->where_raw("ts > SUBTIME(NOW(),"1:00 ")") ->count(); // Энэ IP хаягаар сүүлийн 10 минутанд нэвтрэх оролдлогын тоо $count_10_min = ORM::for_table("reg_login_attempt") ->where("ip", sprintf("%u ", ip2long($ ip))) ->where_raw("ts > SUBTIME(NOW(),"0:10")") ->count(); if($count_hour > $limit_hour || $count_10_min > $limit_10_min)( шинэ Exception шидэх("Хэт олон нэвтрэх оролдлого!"); ) ) функц rate_limit_tick($ip, $email)( // Хүснэгтэнд шинэ бичлэг үүсгэх Энэ нь нэвтрэх оролдлогын тоог тооцдог $login_attempt = ORM::for_table("reg_login_attempt")->create(); $login_attempt->email = $email; $login_attempt->ip = sprintf("%u", ip2long($ip) )); $login_attempt->save(); ) функцийг дахин чиглүүлэх($url)( толгой("Байршил: $url"); гарах; )

Функцүүд ханшийн_хязгаарТэгээд ханшийн_хязгаар_шалгахЭхний оролдлого хийснээс хойш өнгөрсөн хугацаанд зөвшөөрөл олгох оролдлогын тоог хянах. Нэвтрэх оролдлогыг мэдээллийн санд reg_login_attempt баганад бүртгэнэ. Эдгээр функцууд нь маягтын өгөгдлийг боловсруулж, илгээх үед дуудагддаг бөгөөд та дараах кодын хэсгээс харж болно.

Доорх кодыг index.php файлаас авсан бөгөөд энэ нь маягт илгээхийг зохицуулдаг. Энэ нь JSON хариултыг буцаадаг бөгөөд үүнийг бидний өмнө нь авч үзсэн assets/js/script.js файл дахь jQuery-ээр боловсруулдаг.

index.php

Оролдоод үзнэ үү( if(!empty($_POST) && isset($_SERVER["HTTP_X_REQUESTED_WITH"]))( // JSON толгой хэсгийн гарчиг("Content-type: application/json"); // Хэрэв энэ имэйл хаяг хүчинтэй байна уу? (!isset($_POST["имэйл"]) || !filter_var($_POST["имэйл"], FILTER_VALIDATE_EMAIL))( шинэ Exception ("Хүчинтэй имэйл оруулна уу."); ) // Шалгах. хэрэглэгч нэвтрэхийг зөвшөөрсөн, тэр зөвшөөрөгдсөн холболтын тооноос хэтэрсэн үү? (дэлгэрэнгүй мэдээллийг functions.php файлаас авна уу) rate_limit($_SERVER["REMOTE_ADDR"]); // Нэвтрэх оролдлого rate_limit_tick($_SERVER["REMOTE_ADDR"] , $ _POST["email"]); // Хэрэглэгч рүү имэйл илгээх $message = ""; $email = $_POST["email"]; $subject = "Таны нэвтрэх холбоос"; if(!Хэрэглэгч:: exists($email) )( $subject = "Бүртгүүлсэнд баярлалаа!"; $message = "Манай сайтад бүртгүүлсэнд баярлалаа!\n\n"; ) // Хэрэглэгчийг зөвшөөрөх эсвэл бүртгүүлэх оролдлого $user = Хэрэглэгч ::loginOrRegister($_POST[ "и-мэйл"]); $message.= "Та энэ URL-аас нэвтэрч болно:\n"; $message.= get_page_url()."?tkn=".$user->generateToken()."\n\n"; $message.= "Холбоос 10 минутын дараа автоматаар дуусна."; $үр дүн = send_email($fromEmail, $_POST["имэйл"], $сэдэв, $мессеж); if(!$result)( throw new Exception("Таны имэйлийг илгээхэд алдаа гарлаа. Дахин оролдоно уу."); ) die(json_encode(array("message" => "Баярлалаа! Бид линк илгээлээ. Ирсэн имэйл хайрцаг руугаа илгээнэ үү. Мөн спам хавтсаа шалгана уу."))); ) ) catch(Exception $e)( die(json_encode(array("error"=>1, "message" => $e->getMessage() )));)

Амжилттай нэвтэрсний дараа дээрх код нь хэрэглэгч рүү нэвтрэх холбоосыг илгээх болно. Учир нь токен боломжтой болно аргаар үүсгэсэн холбоост хувьсагч болгон дамжуулдаг $_GET tkn тэмдэглэгээтэй

index.php

If(isset($_GET["tkn"]))( // Энэ токен зөвшөөрөл олгоход хүчинтэй юу? $user = User::findByToken($_GET["tkn"]); if($user)( // Тийм , Хамгаалагдсан хуудас руу дахин чиглүүлэх $user->login(); redirect("protected.php"); ) // Үгүй, токен хүчингүй байна. Зөвшөөрөл/бүртгэлийн маягт бүхий хуудас руу дахин чиглүүлэх redirect("index. php ");)

$user->login()

нь сессэд шаардлагатай хувьсагчдыг үүсгэх бөгөөд ингэснээр сайтын дараагийн хуудсыг үзэж буй хэрэглэгч үргэлж эрх бүхий хэвээр байх болно.

Системээс гарах функцийн боловсруулалтыг ижил төстэй байдлаар зохион байгуулдаг.

index.php

If(isset($_GET["гарц"]))( $user = new User(); if($user->loggedIn())( $user->logout(); ) redirect("index.php") ;)

Кодын төгсгөлд би index.php руу дахин чиглүүлэлт хийсэн тул параметр ?гарц=1 URL-ээр дамжуулах шаардлагагүй.

Манай index.php файл нэмэлт шаардлагатай. хамгаалалт - системд нэвтэрсэн хүмүүсийг бүртгэлийн маягтыг дахин харахыг бид хүсэхгүй байна. Эдгээр зорилгоор бид аргыг ашигладаг $user->loggedIn().

index.php

$хэрэглэгч = шинэ хэрэглэгч(); if($user->loggedIn())( redirect("protected.php"); )

Эцэст нь, сайтынхаа хуудсуудыг хамгаалах, зөвшөөрөл авсны дараа л нэвтрэх боломжтой болгох кодыг энд оруулав.

protected.php

// Сайтынхаа хуудас бүрийг хамгаалахын тулд main.php файлыг // оруулаад Хэрэглэгчийн шинэ объект үүсгэнэ үү. Ийм л амархан! require_once "includes/main.php"; $хэрэглэгч = шинэ хэрэглэгч(); if(!$user->loggedIn())( redirect("index.php"); )

Энэ шалгалтын дараа та хэрэглэгч амжилттай зөвшөөрөл авсан гэдэгт итгэлтэй байж болно. Мөн та объектын шинж чанарыг ашиглан мэдээллийн санд хадгалагдсан мэдээлэлд хандах боломжтой $ хэрэглэгч. Хэрэглэгчийн имэйл болон статусыг харуулахын тулд энэ кодыг ашиглана уу:

Цуурай "Таны имэйл: ".$user->email; echo "Таны зэрэглэл: ".$user->rank();

Арга зэрэглэл()Мэдээллийн сан нь ихэвчлэн тоонуудыг хадгалдаг (жирийн хэрэглэгчийн хувьд 0, администраторын хувьд 1) бөгөөд бид энэ өгөгдлийг харьяалагдах статус руу хөрвүүлэх шаардлагатай байдаг тул энэ арга нь бидэнд тусалдаг.

Энгийн хэрэглэгчийг администратор болгохын тулд phpMyAdmin (эсвэл өгөгдлийн санг удирдах боломжийг олгодог бусад программ) -аар дамжуулан хэрэглэгчийн оруулгыг засварлахад л хангалттай. Администраторын статус нь ямар ч давуу эрх өгдөггүй, энэ жишээнд хуудас таныг администратор гэдгийг харуулах болно - тэгээд л болоо.

Гэхдээ үүнийг юу хийх нь таны үзэмжээр үлдсэн бөгөөд та администраторуудад тодорхой давуу эрх, боломжуудыг тохируулсан кодыг өөрөө бичиж, зохиож болно.

Бид дууслаа!

Бид энэ гайхалтай супер бараг энгийн дүрсийг хийж дуусгалаа! Та үүнийг PHP сайтууддаа ашиглаж болно, энэ нь маш энгийн. Та мөн үүнийг өөртөө тохируулж, хүссэнээрээ хийж болно.

Уг материалыг Денис Малышок вэбсайтад зориулж тусгайлан бэлтгэсэн

P.S. Та PHP болон OOP хэлийг илүү сайн эзэмшмээр байна уу? Вэбсайт бүтээх янз бүрийн талуудын дээд зэргийн хичээлүүд, тухайлбал PHP дээр програмчлал, мөн OOP ашиглан эхнээс нь PHP дээр өөрийн CMS системийг бий болгох үнэгүй сургалтанд анхаарлаа хандуулаарай.

Материал таалагдсан уу, надад баярлалаа гэж хэлмээр байна уу?
Зүгээр л найз нөхөд, хамтран ажиллагсадтайгаа хуваалцаарай!


Хамгийн сүүлд 2019 оны 7-р сарын 23-нд Винси өөрчилсөн.

Хэрэглэгчийн бүртгэл эсвэл бүртгүүлэх нь олон вэб програмын салшгүй хэсэг бөгөөд програмыг амжилттай ажиллуулахын тулд үүнийг зөв хийх нь чухал юм. Энэ нь таны програмтай хэрэглэгчийн оролцооны эхлэлийн цэг юм.

Энэ нь хамгийн сайн UI / UX-тай аль болох энгийн байх ёстой. PHP ашиглан хэрэглэгчийн бүртгэлийн функцийг хэрэгжүүлэх нь энгийн ажил бөгөөд би энэ нийтлэл дэх жишээн дээрх алхмуудыг танд өгөх болно.

Дотор нь юу байна? Энэ PHP хэрэглэгчийн бүртгэлийн жишээ хэрхэн ажилладаг вэ?

Энэ жишээ кодыг 3 хэсэгт хувааж болно.

  • HTML маягтаар хэрэглэгчийн мэдээллийг авах.
  • Илгээсэн маягт дээр хэрэглэгчийн оруулсан мэдээллийг баталгаажуулж байна.
  • Баталгаажуулалтын дараа бүртгэлтэй хэрэглэгчийг мэдээллийн санд хадгалахын тулд мэдээллийн сантай ажиллах.
  • Гурав дахь алхам нь хэрэглэгчийг аль хэдийн нэмээгүй байгаа эсэхийг шалгасны дараа хийгдэнэ. Өгөгдлийн өвөрмөц байдлын баталгаажуулалтыг тэдний оруулсан имэйл болон хэрэглэгчийн нэр дээр үндэслэн хийнэ.

    Бүртгэлийн явцад бид ерөнхийдөө хэрэглэгчийн мэдээллийг цуглуулдаг бөгөөд тэд манай програмд ​​бүртгүүлэхэд бэлэн байдаг. Тэдгээрийн зарим нь заавал байх болно, зарим нь нэмэлт байх болно.

    Тиймээс, энэ функц нь хэрэглэгчийн өгөгдлийн хоосон байдал, форматыг баталгаажуулахын тулд баталгаажуулалтын хэсгийг агуулж болно. Баталгаажуулалтыг үйлчлүүлэгч эсвэл сервер тал дээр хийж болно.

    Сервер талд баталгаажуулалт хийх нь үргэлж дээр байдаг. Хэрэглэгчдэд хялбар болгох үүднээс та үүнийг үйлчлүүлэгч талдаа сонгох боломжтой. Гэхдээ сервер талд байх нь сонголт биш бөгөөд хамгийн бага шаардлага юм.

    Файлын бүтэц

    Хэрэглэгч бүртгүүлэх боломжийг олгох HTML маягт

    Энэ жишээнд бүртгэлийн маягт нь Хэрэглэгчийн нэр, Нэр(Дэлгэцийн нэр), Нууц үг, Имэйл гэсэн талбаруудыг агуулна. Мөн хэрэглэгчийг баталгаажуулахын тулд нууц үгээ дахин оруулах боломжийг олгох Нууц үгээ баталгаажуулах талбартай. Эдгээр хоёр нууц үгийг дараа нь тухайн үед харьцуулах болно.

    Энэ маягтыг илгээснээр хэрэглэгч нөхцөл, болзлыг зөвшөөрнө. Тиймээс үүнийг баталгаажуулахын тулд Бүртгүүлэх товчлуурын өмнө тэмдэглэгээний талбар нэмэгдсэн байна.

    PHP хэрэглэгчийн бүртгэлийн маягт Бүртгүүлэх хэрэглэгчийн нэр

    ХОНХ

    Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
    Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
    Имэйл
    Нэр
    Овог
    Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
    Спам байхгүй