Annals нэвтрэх бүртгэл php. PHP болон MySQL дээр энгийн хэрэглэгчийн бүртгэлийн системийг бий болгох. Өгөгдлийн сангийн схем

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 команд дээр холбогдох хувилбарын дугаарыг оруулахаа мартуузай.

Хөгжмийн зохиолч create-project laravel/laravel=5.4 your-project-name --prefer-dist Мөн уншина уу:

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

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

Хэрэв та видео үзэхийг хүсвэл миний YouTube сувгаас үзэх боломжтой

Бидний хийх ёстой хамгийн эхний зүйл бол мэдээллийн санг тохируулах явдал юм.

нэртэй мэдээллийн сан үүсгэ бүртгэл. Дахь бүртгэлмэдээллийн сан, нэртэй хүснэгтийг нэмнэ үү хэрэглэгчид. Хэрэглэгчдийн хүснэгт нь дараах дөрвөн талбарыг авна.

  • хэрэглэгчийн нэр - varchar(100)
  • имэйл - varchar(100)
  • нууц үг - varchar (100)

Та үүнийг PHPMyAdmin гэх мэт MySQL клиент ашиглан үүсгэж болно.

Эсвэл та дараах SQL скриптийг ашиглан үүнийг MySQL сануулга дээр үүсгэж болно.

CREATE TABLE `хэрэглэгчид` (`id` int(11) NULL БУС AUTO_INCREMENT АНХДАГЧ ТҮЛХҮҮР, `хэрэглэгчийн нэр` varchar(100) NULL БУС, `email` varchar(100) NULL БИШ, `нууц үг` varchar(100) ENGINE ENGINE) =InnoDB өгөгдмөл CHARSET=латин1;

Энэ бол мэдээллийн сантай холбоотой.

Одоо нэртэй хавтас үүсгэнэ үү бүртгэлманай серверт хандах боломжтой лавлахад. htdocs дотор (хэрэв та XAMPP сервер ашиглаж байгаа бол) эсвэл дотор нь хавтас үүсгэнэ үү www(хэрэв та wampp сервер ашиглаж байгаа бол).

Хавтас дотор бүртгэл,дараах файлуудыг үүсгэнэ үү:

Эдгээр файлуудыг өөрийн сонгосон текст засварлагчаар нээнэ үү. Минийх бол гайхалтай текст 3.

Хэрэглэгчийг бүртгэж байна

register.php файлыг нээж дараах кодыг оруулна уу.

register.php:

Бүртгүүлэх

Аль хэдийн гишүүн болсон уу? Нэвтрэх



Одоогоор ямар ч төвөгтэй зүйл байхгүй биз дээ?

Энд анхаарах хэдэн зүйл:

Нэгдүгээрт, энэ бол бидний хэлбэр юм үйлдэлатрибутыг register.php гэж тохируулсан. Энэ нь маягт илгээх товчийг дарахад маягтын бүх өгөгдөл нэг хуудсанд (register.php) илгээгдэнэ гэсэн үг юм. Энэ маягтын өгөгдлийг хүлээн авах кодын хэсэг нь server.php файлд бичигдсэн байдаг тул бид үүнийг register.php файлын хамгийн дээд хэсэгт оруулсан болно.

Мөн бид маягтын алдааг харуулахын тулд errors.php файлыг оруулж байгааг анхаарна уу. Бид удахгүй үүнд хүрэх болно.

Толгой хэсгээс харж байгаагаар бид style.css файлтай холбогдож байна. style.css файлыг нээгээд дараах CSS-г дотор нь оруулна уу:

* ( зах: 0px; дэвсгэр: 0px; ) их бие (фонтын хэмжээ: 120%; дэвсгэр: #F8F8FF; ) .толгой (өргөн: 30%; захын зай: 50px автомат 0px; өнгө: цагаан; дэвсгэр: #5F9EA0; текст -align: төвд; хүрээ: 1px хатуу #B0C4DE; хүрээ-доод: байхгүй; хүрээ-радиус: 10px 10px 0px 0px; дэвсгэр: 20px; ) хэлбэр, .контент (өргөн: 30%; зах: 0px автомат; дүүргэлт: 20px ; хүрээ: 1px цул #B0C4DE; дэвсгэр: цагаан; хүрээ-радиус: 0px 0px 10px 10px; ) .оролтын бүлэг (маржин: 10px 0px 10px 0px; ) .оролтын бүлгийн шошго (дэлгэц: блок; текстийг зэрэгцүүлэх: зүүн талд) ; захын зай: 3px; ) .оролтын бүлгийн оролт ( өндөр: 30px; өргөн: 93%; дэвсгэр: 5px 10px; үсгийн хэмжээ: 16px; хүрээ-радиус: 5px; хүрээ: 1px хатуу саарал; ) .btn ( дүүргэлт: 10px; үсгийн хэмжээ: 15px; өнгө: цагаан; дэвсгэр: #5F9EA0; хүрээ: байхгүй; хүрээ-радиус: 5px; ) .алдаа (өргөн: 92%; зах: 0px автомат; дүүргэлт: 10px; хүрээ: 1px хатуу # a94442; өнгө: #a94442; дэвсгэр: #f2dede; хилийн радиус: 5px; текстийг зэрэгцүүлэх: зүүн; ) .амжилт (өнгө: #3c763d; дэвсгэр: #dff0d8; хил: 1px хатуу #3c763d; доод захын зай: 20px; )

Одоо маягт нь үзэсгэлэнтэй харагдаж байна.

Одоо маягтаас ирүүлсэн мэдээллийг хүлээн авах кодыг бичээд өгөгдлийн санд мэдээллийг хадгалъя (бүртгүүлье) Өмнө нь амласанчлан бид үүнийг server.php файл дээр хийдэг.

server.php-г нээж, энэ кодыг оруулна уу:

server.php

Сессүүд нь нэвтэрсэн хэрэглэгчдийг хянахад ашиглагддаг тул бид файлын дээд хэсэгт session_start()-г оруулсан.

Код дээрх тайлбарууд нь бүх зүйлийг маш их тайлбарладаг, гэхдээ би энд хэд хэдэн зүйлийг онцлон тэмдэглэх болно.

if мэдэгдэл нь бүртгэлийн маягт дээрх reg_user товчийг дарсан эсэхийг тодорхойлдог. Манай маягт дээр илгээх товч нь reg_user гэж тохируулсан нэрийн шинж чанартай байдаг бөгөөд үүнийг if мэдэгдэлд дурдаж байгааг санаарай.

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

Хэрэв ямар нэгэн алдаа гараагүй бол хэрэглэгч бүртгэлд орно хэрэглэгчидМэдээллийн сангийн хэш нууц үг бүхий хүснэгт. Нууц үг нь аюулгүй байдлын үүднээс хийгдсэн. Энэ нь хакер таны мэдээллийн санд нэвтэрч чадсан ч таны нууц үгийг унших боломжгүй гэдгийг баталгаажуулдаг.

Гэвч манай errors.php файл хоосон хэвээр байгаа тул алдааны мэдээллүүд харагдахгүй байна. Алдааг харуулахын тулд энэ кодыг errors.php файлд оруулна уу.

0) : ?>

Хэрэглэгч өгөгдлийн санд бүртгүүлэх үед шууд нэвтэрч, index.php хуудас руу чиглүүлдэг.

Энэ бол бүртгүүлэх явдал юм. Хэрэглэгчийн нэвтрэлтийг харцгаая.

Нэвтрэх хэрэглэгч

Хэрэглэгч нэвтрэх нь бүр ч хялбар зүйл юм. Нэвтрэх хуудсыг нээгээд дотор нь энэ кодыг оруулна уу:

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

Нэвтрэх

Гишүүн болоогүй байна уу? Бүртгүүлэх



Энэ хуудсан дээрх бүх зүйл register.php хуудастай нэлээд төстэй.

Одоо хэрэглэгчийг нэвтэрсэн кодыг ижил server.php файлд бичих ёстой. Тиймээс server.php файлыг нээж, файлын төгсгөлд энэ кодыг нэмнэ үү:

// ... // ХЭРЭГЛЭГЧИЙН НЭВТРҮҮЛЭХ if (isset($_POST["login_user"])) ( $username = mysqli_real_escape_string($db, $_POST["username"]); $password = mysqli_real_escape_string($db, $_POST) ["нууц үг"]); хэрэв (хоосон($ хэрэглэгчийн нэр)) ( array_push($алдаа, "Хэрэглэгчийн нэр шаардлагатай"); ) if (хоосон($нууц үг)) ( array_push($алдаа, "Нууц үг шаардлагатай"); ) if (count($errors) == 0) ( $password = md5($password); $query = "СОНГОХ * ХААНА хэрэглэгчийн нэр="$хэрэглэгчийн нэр" ба нууц үг="$нууц үг""; $үр дүн = mysqli_query ($db, $query); if (mysqli_num_rows($results) == 1) ( $_SESSION["хэрэглэгчийн нэр"] = $хэрэглэгчийн нэр; $_SESSION["амжилт"] = "Та одоо нэвтэрсэн байна"; толгой(" байршил: index.php"); )else (array_push($алдаа, "Хэрэглэгчийн нэр/нууц үг буруу"); ) ) ) ?>

Дахин хэлэхэд энэ бүх зүйл бол хэрэглэгч маягтыг зөв бөглөсөн эсэхийг шалгаж, тэдний итгэмжлэл нь мэдээллийн баазын бүртгэлтэй таарч байгаа эсэхийг шалгаж, хэрэв байгаа бол нэвтэрч орох явдал юм. Нэвтрэн орсны дараа хэрэглэгч амжилттай болсон тухай мессежийн хамт index.php файл руу дахин чиглүүлнэ.

Одоо index.php файлд юу болдгийг харцгаая. Үүнийг нээгээд дараах кодыг оруулна уу.

Гэр

Нүүр хуудас

Тавтай морил

гарах



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

Хоёр дахь if мэдэгдэл нь хэрэглэгч гарах товчийг дарсан эсэхийг шалгадаг. Хэрэв тийм бол систем нь тэдгээрийг бүртгэлээс гаргаж, нэвтрэх хуудас руу дахин чиглүүлнэ.

Одоо үргэлжлүүлээрэй, үүнийг өөрийн хэрэгцээнд тохируулан өөрчилж, гайхалтай сайт бүтээгээрэй. Хэрэв танд санаа зовох зүйл эсвэл тодруулах зүйл байвал доорх коммент хэсэгт үлдээгээрэй, тусламж ирэх болно.

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

Дуу бичлэгүүд (0)

Шинэчлэгдсэн: 2019-10-08

Нийтэлсэн: 2016-12-21

Цаг хугацаа өнгөрөхөд PHP нь аюулгүй программуудыг хөгжүүлэхэд түлхэц өгөх функцуудыг нэмж, аюулгүй код бичихэд хялбар болгосон хуучирсан эсвэл устгагдсан функцуудыг нэмж байна.

PHP-ийн аюулгүй байдалд чиглэсэн функцүүдийн давуу талыг ашиглан, jQuery-г ашиглан AJAX хүсэлт илгээж, Bootstrap ашиглан хурдан бөгөөд сайхан хэрэглэгчийн интерфэйсийг ашиглан бусад фреймворк ашиглаж байгаа эсэхээс үл хамааран орчин үеийн нэвтрэх болон бүртгэлийн системийг хэрхэн бүтээх талаар сурахын тулд энэхүү хичээлийг уншина уу. үгүй.



Хэрэв танд асуулт, сэтгэгдэл байвал энэ нийтлэлд эсвэл нийтлэлд сэтгэгдэл бичиж болно.

Бүртгэлийг өөрчлөх

2017-03-27: Хөгжмийн зохиолчийн хэрэгслээр татаж авах, суулгах нэмэлт мэдээлэл нэмэгдсэн.

2017-01-01: Эдгээр нь 2017 онд аюулгүй байдал хэвээр байгаа гэдгийг тусган нийтлэлийг шинэчилсэн.




Сэтгэгдэл бичихийн тулд та бүртгэлтэй хэрэглэгч эсвэл нэвтэрсэн байх шаардлагатай

Бүртгэлээрээ нэн даруй нэвтэрнэ үү:

Ихэнх вэбсайтууд таны хэрэглэгчдэд бүртгүүлэх бүртгэлийн маягттай байдаг тул сайт доторх ямар нэгэн давуу эрх эдлэх боломжтой. Энэ нийтлэлд бид PHP болон MySQL дээр бүртгэлийн маягтыг хэрхэн үүсгэх талаар үзэх болно.

Бид энгийн хаягуудыг ашиглахаас гадна Sign-Up.html вэб хуудсыг зохиохдоо хүснэгтийн тагийг ашиглах болно. Эхэлцгээе:

Жагсаалт 1: sign-up.html

Бүртгүүлэх

Бүртгэлийн маягт
Нэр
Имэйл
Хэрэглэгчийн нэр
Нууц үг
Нууц үгээ баталгаажуулна уу



Зураг 1:

sing-in.html вэб хуудасны тайлбар:

Зураг 1-ээс харахад Бүртгэлийн маягт байгаа бөгөөд энэ нь хэрэглэгчийн талаар цөөн тооны мэдээлэл асууж байна. Эдгээр нь аливаа вэб сайтаас өөрийн хэрэглэгчид эсвэл зочдоос ID болон нууц үг үүсгэхийг хүсдэг нийтлэг өгөгдөл юм. Веб хуудсан дээрх маягтын талбаруудыг Зураг 1-ээс харж байгаагаар цэгцлэх хэлбэрээр харуулахын тулд бид хүснэгтийн тагийг ашигласан. Энэ нь маш энгийн харагдаж байна, учир нь бид үүн дээр CSS хэв маягийг хараахан ашиглаагүй байгаа тул одоо CSS хэв маягийг ашиглаж, холбоосыг холбоно уу. sing-up.html вэб хуудастай CSS загварын файл.

Жагсаалт 2: style.css

/*Бүртгүүлэх вэб хуудсанд зориулсан CSS файл*/ #body-color( background-color:#6699CC; ) #Sign-up( background-image:url("sign-up.png"); background-size:500px 500px ; дэвсгэр-давталт: давтагдахгүй; дэвсгэр-хавсралт:тогтсон; дэвсгэр-байрлал:төв; захын-дээд:150px; захын-доод:150px; баруун захын:150px; зүүн талын зах:450px; дүүргэгч:9px 35px; ) #button( хүрээ-радиус:10px; өргөн:100px; өндөр:40px; дэвсгэр:#FF00FF; үсгийн жин:болд; үсгийн хэмжээ:20px; )

Жагсаалт 3: style.css-г sign-up.html вэб хуудастай холбоно уу



Зураг 2:

style.css файлын тайлбар:

Гадаад CSS файлд бид танд шинэ мэт харагдах зарим хэв маягийг ашигласан. Бид зургийг арын дэвсгэр дээр ашиглаж, вэб хуудасны төвд байрлуулсан. Энэ нь html div тагийн тусламжтайгаар ашиглахад хялбар болсон. Бид гурван div таг id ашигласан. #button, #sing-up, #body-color зэрэгт бид бүх CSS хэв маягийг ашигласан ба одоо та Зураг 2-оос хичнээн үзэсгэлэнтэй, сэтгэл татам харагдаж байгааг харж болно. Та 2D болон 3D CSS загвар гэх мэт өөр олон CSS хэв маягийг ашиглаж болно. Энэ нь одоо байгаагаасаа илүү үзэсгэлэнтэй харагдах болно.

Эдгээр бүх энгийн ажлуудын дараа бид одоо шинэ хэрэглэгчдийн мэдээллийн санд бүх өгөгдлийг хадгалах мэдээллийн сан, хүснэгт үүсгэх гэж байна. Хүснэгт үүсгэхээсээ өмнө бид хэрэглэгчээс юу шаарддагийг мэдэх ёстой. Бид маягтыг зохиохдоо бүртгэлийн маягтын дагуу хүснэгтийг үүсгэх бөгөөд та үүнийг Зураг 1, 2-оос харж болно.

Жагсаалт 3: MySQL дээрх хүснэгтийн асуулга

ХҮСНЭГТ ҮҮСГЭХ ВэбсайтХэрэглэгчид (хэрэглэгчийн ID int(9) NULL БИШ auto_increment, овог нэр VARCHAR(50) NULL БУС, хэрэглэгчийн нэр VARCHAR(40) NULL БУС, VARCHAR(40) цахим шуудангийн NULL, VARCHAR(40) NULL БИШ, АНХДАГЧ ТҮЛХҮҮР(user) );

3-р жагсаалтын тайлбар:

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

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

Эдгээр бүх ажил дууссаны дараа бид сервер талын програмчлалын хэл болох PHP програмчлалтай ажиллах болно. Тийм учраас мэдээллийн сантай холболт үүсгэх хэрэгтэй.

Жагсаалт 4: Өгөгдлийн сангийн холболт

4-р жагсаалтын тайлбар:

Бид мэдээллийн сан болон вэб хуудасны хооронд холболт үүсгэсэн. Гэхдээ хэрэв та энэ нь ажиллаж байгаа эсэхийг мэдэхгүй байгаа бол хамгийн сүүлийн 5-р жагсаалтад нэг зүйлийг нэмж ашиглана уу.

Жагсаалт 5: мэдээллийн баазын холболтын холболтыг шалгаж байна

Тодорхойлолтын жагсаалт 5:

Жагсаалт 5 дээр би өгөгдлийн сан болон PHP хоорондын холболтыг шалгаж, баталгаажуулах боломжтой гэдгийг харуулахыг оролдсон. Бас нэг зүйл бол бид 5-р жагсаалтын кодыг дуудах вэб хуудсандаа ашиглахгүй. Учир нь энэ нь танд MySQL холболтыг хэрхэн шалгахыг ойлгуулах зорилготой юм.

Одоо бид PHP програмчлалын програм бичиж, хэрэглэгчийн бэлэн эсэхийг шалгаад дараа нь тухайн хэрэглэгч шинэ хэрэглэгч бол вэб хуудсанд хадгалагдана.

Жагсаалт 6: connectivity-sign-up.php

connectivity-sign-up.php-ийн тайлбар

Энэхүү PHP програм дээр би вэб хуудсанд бүртгүүлэх програм үүсгэх хамгийн энгийн аргыг ашигласан. Таны харж байгаагаар бид эхлээд жагсаалт 4 шиг холболт үүсгэсэн. Дараа нь бид хоёр функцийг ашигласан эхний функц нь SignUP() бөгөөд энэ нь програмын сүүлийн үеийн if хэллэгээр дуудагддаг бөгөөд энэ нь эхлээд бүртгүүлэх товчийг дарж байгааг баталгаажуулдаг. товч. Хэрэв энэ нь дарагдсан бол SingUp функцийг дуудах бөгөөд энэ функц нь өгөгдлийг татаж авахын тулд SELECT-ийн хайлтыг ашиглан тэдгээрийг хэрэглэгчийн нэр болон одоогийн хэрэглэгчийн оруулсан имэйлтэй харьцуулна. Хэрэв хэрэглэгчийн нэр болон цахим шуудан мэдээллийн санд байгаа бол уучлаарай таныг аль хэдийн бүртгүүлсэн гэж хэлэх болно

Хэрэв хэрэглэгч шинэ бол түүний одоогийн хэрэглэгчийн нэр, имэйл ID нь мэдээллийн санд байхгүй тул If мэдэгдэл нь NewUser()-г дуудаж, шинэ хэрэглэгчийн бүх мэдээллийг хадгалах болно. Мөн хэрэглэгч вэб хуудасны нэг хэсэг болно.



Зураг 3

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



Зураг 4:

Бүртгэлийн маягтанд өгөгдөл оруулахад (Зураг 4) бүртгэлийн маягтанд оруулсан хэрэглэгчийн нэр, цахим шуудангийн мэдээллийн санд аль хэдийн орсон байна. Тиймээс бид шинэ ID болон нууц үгээр бүртгүүлэхийн тулд шинэ хэрэглэгчийн нэр, имэйл хаягийг туршиж үзэх хэрэгтэй.



Зураг 5

Зураг 5-д хэрэглэгчийн нэр болон цахим шуудангийн дугаарыг оруулсан хэрэглэгчийг баталгаажуулж байна. Мэдээллийн сангийн бүртгэлд хоёулаа байхгүй. Тиймээс одоо шинэ ID болон нууц үг бий болсон бөгөөд хэрэглэгч дараагийн удаа нэвтрэхийн тулд шинэ ID болон нууц үгээ ашиглах боломжтой болно.

Дүгнэлт:

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

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

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

Эхлээд бид дараа нь хийх бүх алхмуудыг ярилцъя. Бидэнд юу хэрэгтэй вэ? Бидэнд хэрэглэгчийг бүртгэх, хэрэглэгчийг зөвшөөрөх, зөвшөөрлийн дараа хэрэглэгчийг хаа нэг газар дахин чиглүүлэх скрипт хэрэгтэй. Мөн бид зөвшөөрөлгүй хэрэглэгчдийн хандалтаас хамгаалагдсан хуудас үүсгэх шаардлагатай болно. Бүртгүүлэх, зөвшөөрөл авахын тулд бид HTML маягт үүсгэх шаардлагатай болно. Бид бүртгэлтэй хэрэглэгчдийн талаарх мэдээллийг мэдээллийн санд хадгалах болно. Энэ нь бидэнд DBMS-тэй холбогдох скрипт хэрэгтэй хэвээр байна гэсэн үг. Бидний бүх ажлыг өөрсдийнхөө бичсэн функцээр хийх болно. Бид эдгээр функцийг тусдаа файлд хадгалах болно.

Тиймээс бидэнд дараах файлууд хэрэгтэй болно.

  • DBMS-тэй холбогдох;
  • захиалгат функцууд;
  • зөвшөөрөл;
  • бүртгэл;
  • хамгаалагдсан хуудас;
  • хэрэглэгчийг хаах скрипт;
  • хэрэглэгчийн зөвшөөрлийн статусыг шалгадаг скрипт;
  • Манай хуудасны хамгийн энгийн загварт зориулсан загварын хуудас.

Хэрэв танд мэдээллийн санд тохирох хүснэгт байхгүй бол энэ бүхэн утгагүй болно. Өөрийн DBMS удирдлагын хэрэглүүрийг (PhpMyAdmin эсвэл командын мөр, аль нь илүү тохиромжтой вэ) ажиллуулаад дараах хайлтыг ажиллуулна уу:

CREATE TABLE `хэрэглэгчид` (`id` int(11) NULL БУС AUTO_INCREMENT, `login` char(16) NULL БИШ, `нууц үг` тэмдэг(40) NULL БИШ, `reg_date` цагийн тэмдэг NULL БУС DEFAULT CURRENT_TIMESTAMEY (`P id`)) ENGINE=MyISAM-н өгөгдмөл CHARET=utf8 AUTO_INCREMENT=1 ;

Би скрипт файлуудаа ингэж нэрлэх болно (тэд бүгд нэг директорт байх болно):

  • database.php;
  • functions.php;
  • login.php;
  • register.php;
  • index.php;
  • logout.php;
  • checkAuth.php;
  • style.css.

Тэд тус бүрийн зорилго танд ойлгомжтой байгаа гэдэгт итгэлтэй байна. DBMS-тэй холбогдох скриптээс эхэлье. Та үүнийг аль хэдийн харсан. Зүгээр л энэ скриптийн кодыг database.php нэртэй файлд хадгалаарай. Бид functions.php файлд захиалгат функцуудыг зарлах болно. Энэ бүхэн хэрхэн ажиллах вэ? Зөвшөөрөлгүй хэрэглэгч index.php хамгаалагдсан баримт бичигт хандахыг оролдох үед систем нь хэрэглэгчийг зөвшөөрөлтэй эсэхийг шалгадаг, хэрэв хэрэглэгч зөвшөөрөлгүй бол түүнийг зөвшөөрлийн хуудас руу дахин чиглүүлдэг. Нэвтрэх хуудсан дээр хэрэглэгч зөвшөөрлийн маягтыг харах ёстой. Энийг хийцгээе.

Хэрэглэгчийн зөвшөөрөл

бүртгүүлэх.



Одоо бидний хэлбэрт ямар нэгэн хэлбэр өгөх хэрэгтэй. Үүний зэрэгцээ бид бусад элементүүдийн дүрмийг тодорхойлох болно. Цаашид загварын хуудасны агуулгыг бүрэн эхээр нь танилцуулах болно.

/* style.css файл */ .row ( margin-bottom:10px; width:220px; ) .row label ( display:block; font-weight:bold; ) .row input.text ( font-size:1.2em; padding:2px 5px; ) .to_reg (фонтын хэмжээ:0.9em; ) .заавар (фонтын хэмжээ:0.8em; өнгө:#aaaaaa; зүүн талын зай:2px; курсор:үндсэн; ) .алдаа (өнгө: улаан; зүүн талын зах: 3px; )

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

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

Хэрэглэгчийн бүртгэл

" />


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

Хэрэглэгчийн бүртгэл

" />
Хэрэглэгчийн нэр нь зөвхөн латин тэмдэгт, тоо, "_", "-", "." тэмдгийг агуулж болно. Хэрэглэгчийн нэр 4 тэмдэгтээс багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой
Нууц үгэндээ зөвхөн латин үсэг, тоо, "_", "!", "(", ")" тэмдэгтүүдийг ашиглах боломжтой. Нууц үг нь 6 тэмдэгтээс багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой
Өмнө нь оруулсан нууц үгээ давтана уу


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

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

Хэрэв бүх зүйл хэвийн байгаа бол, та register.php документ руу нэвтрэх үед таны хөтөчийн цонхонд дараах зүйлийг харах болно.

Одоо хэрэглэгч бүртгэлийн товчлуур дээр дарж маягтын талбаруудыг бөглөөгүй гэж бодъё. Бидний алгоритмын дагуу нэвтрэх болон нууц үг хоосон байж болохгүй. Хэрэв энэ нөхцөл хангагдаагүй бол бүртгүүлэх боломжгүй. Маягтын өгөгдлийг боловсруулах нь одоогийн хувилбарт тохиолддог гэдгийг бид санаж байна. Энэ нь бид зохих чекүүдийг нэмж кодыг нь өөрчлөх шаардлагатай гэсэн үг юм. Дараах шалгалтуудын талаар нэн даруй ярилцъя. Хэрэв та нэвтрэх болон нууц үгээ хоёуланг нь оруулсан бол тэдгээрийн заасан шаардлагад нийцэж байгаа эсэхийг шалгах хэрэгтэй. Нэвтрэх болон нууц үгээ баталгаажуулахын тулд бид functions.php файлд тусгай функцүүдийг үүсгэх болно.

/** * functions.php * Захиалгат функцтэй файл */ // Холболтын параметр бүхий файлыг DBMS-д холбох require_once("database.php"); // Хэрэглэгчийн нэрийн функцийг шалгаж байна checkLogin($str) ( // Боломжит алдааны мэдэгдэл бүхий хувьсагчийг эхлүүлэх $error = ""; // Хэрэв нэвтрэх мөр байхгүй бол алдааны мессежийг буцаана уу if(!$str) ( $алдаа). = "Та хэрэглэгчийн нэр оруулаагүй байна"; return $error; ) /** * Хэрэглэгчийн нэрийг ердийн хэллэгээр шалгана уу * Нэвтрэх хугацаа 4-өөс багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой. тоо, * энэ нь "_", "-", "." гэсэн тэмдэгтүүдийг агуулж болно */ $pattern = "/^[-_.a-z\d](4,16)$/i"; $үр дүн = preg_match ($pattern, $str) ; // Шалгалт амжилтгүй болбол алдааны мессежийг буцаана if(!$result) ( $алдаа = "Хэрэглэгчийн нэр дэх буруу тэмдэгтүүд эсвэл хэрэглэгчийн нэр хэт богино (урт)"; $error буцаана; ) // Хэрэв бүх зүйл хэвийн байвал үнэн утгыг буцаана. true буцаана; ) // Хэрэглэгчийн нууц үгийн функцийг шалгаж байна checkPassword($str) ( // $error = "" байж болзошгүй алдааны мессеж бүхий хувьсагчийг эхлүүлэх; // Хэрэв байгаа бол. нэвтрэх мөр байхгүй, алдааны мессеж буцаана if(!$ str) ( $error = "Та нууц үг оруулаагүй байна"; $ алдаа буцаах; ) /** * Хэрэглэгчийн нууц үгийг энгийн хэллэг ашиглан шалгах * Нууц үг нь 6-аас багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой * Латин үсэг, тоо, * "_", "!" тэмдэгтүүдийг агуулж болно, " (", ")" */ $pattern = "/^[_!)(.a-z\d](6,16)$/i"; $үр дүн = preg_match($pattern, $str); // Хэрэв шалгахад тэнцээгүй, хэрэв(!$үр дүн) алдааны мессежийг буцаана ( $алдаа = "Хэрэглэгчийн нууц үгэнд буруу тэмдэгтүүд эсвэл нууц үг хэт богино (урт)"; $error буцаана; ) // Хэрэв бүх зүйл зүгээр бол буцаана үнэн утга нь үнэнийг буцаана;)

Одоо бид зарласан функцүүдийг идэвхжүүлэхийн тулд register.php файлыг өөрчлөх хэрэгтэй. Бид бүртгүүлэх товчлуур дарагдсан эсэхийг шалгах нөхцөлийг скриптэд нэмнэ. Энэ нөхцөлд нэвтрэх болон нууц үгийн шалгалтыг эхлүүлнэ. Хэрэв шалгалтын аль нэг нь бүтэлгүйтвэл бид маягтыг дахин харуулж, алдааны мессежийг харуулна. Хэрэв алдаа гараагүй бол бид хэрэглэгчийг бүртгэж, бүртгэлийн маягтыг харуулахаа больж, амжилттай бүртгүүлсэн тухай хэрэглэгчдэд мэдэгдэж, header() функцийг ашиглан зөвшөөрлийн маягт руу дахин чиглүүлдэг.

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

"; header("Refresh: 5; URL = login.php"); ) // Үгүй бол алдааны талаар хэрэглэгчдэд мэдэгдээрэй ( $errors["full_error"] = $reg; ) ) ) ?> Хэрэглэгчийн бүртгэл
" />
Хэрэглэгчийн нэр нь зөвхөн латин тэмдэгт, тоо, "_", "-", "." тэмдгийг агуулж болно. Хэрэглэгчийн нэр 4 тэмдэгтээс багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой
Нууц үгэндээ зөвхөн латин үсэг, тоо, "_", "!", "(", ")" тэмдэгтүүдийг ашиглах боломжтой. Нууц үг нь 6 тэмдэгтээс багагүй, 16 тэмдэгтээс хэтрэхгүй байх ёстой
Өмнө нь оруулсан нууц үгээ давтана уу


Та скрипт дэх өөр нэг шинэ функцийг анзаарсан байх ёстой - register() . Гэхдээ бид хараахан зарлаагүй байна. Үүнийг хийцгээе.

// Хэрэглэгчийн бүртгэлийн функцийн бүртгэл($login, $password) ( // Боломжит алдааны мессеж бүхий хувьсагчийг эхлүүлэх $алдаа = ""; // Хэрэв нэвтрэх мөр байхгүй бол алдааны мессежийг буцаана уу, if(!$login) ( $ error = "Нэвтрэхийг зааж өгөөгүй"; буцаах $алдаа; ) elseif(!$нууц үг) ( $алдаа = "Нууц үг заагаагүй"; $алдаа буцаана; ) // Хэрэглэгч бүртгүүлсэн эсэхийг шалгана уу // DBMS connect() ; // Асуулгын мөр бичих $sql = "SELECT `id` FROM `users` WHERE `login`="" . $login . """; // Өгөгдлийн санд асуулга $query = mysql_query хийх. ($sql) or die( ""); // Бид энэ нэвтэрсэн хэрэглэгчийн тоог харна, хэрэв дор хаяж нэг байгаа бол // алдааны мэдээг буцаана if(mysql_num_rows($query) > 0) ( $error = "Заасан нэвтрэлттэй хэрэглэгч аль хэдийн бүртгэгдсэн байна"; буцаах $ алдаа; ) // Хэрэв тийм хэрэглэгч байхгүй бол түүнийг бүртгүүлнэ үү // Асуулгын мөр бичих $sql = "INSERT INTO `users` (`id`,`) login`,`нууц үг`) VALUES (NULL, "" . $login . " ","" . $нууц үг. "")"; // Өгөгдлийн санд асуулга $query = mysql_query($sql) эсвэл үхэх("

Хэрэглэгч нэмэх боломжгүй: " . mysql_error() . ". " __LINE__ " мөрөнд алдаа гарлаа.

"); // DBMS-ээс салхаа бүү март mysql_close(); // Үнэн утгыг буцаана, энэ нь хэрэглэгчийн бүртгэл амжилттай болсон гэдгийг харуулж байна; )

Хэрэв бүх зүйл хэвийн байвал таны хэрэглэгч бүртгүүлэх болно. Та маягтыг туршиж үзэх боломжтой. Ижил нэвтрэлттэй хэрэглэгчдийг бүртгэж үзнэ үү. Амжилттай бүртгүүлсний дараа хэрэглэгчийг зөвшөөрлийн маягт руу дахин чиглүүлэх болно. Өмнө нь бид энэ маягтыг харуулахын тулд тэмдэглэгээг үүсгэсэн. Үйлдлийн шинж чанарт тодорхой параметр байхгүй тул маягтаас ирүүлсэн өгөгдлийг ижил скрипт дээр боловсруулна. Энэ нь бид боловсруулах код бичиж, login.php баримт бичигт нэмэх шаардлагатай гэсэн үг юм.

Хэрэглэгчийн зөвшөөрөл

;">

Хэрэв та системд бүртгүүлээгүй бол бүртгүүлнэ үү.



Зөвшөөрлийн скрипт дээр бид одоо өөр нэг үл мэдэгдэх функцтэй байгааг та анзаарсан байх - authorization() . Энэ функц нь мэдээллийн санд ижил нэвтрэх болон нууц үгтэй бүртгэлтэй хэрэглэгч байгаа эсэхийг шалгах замаар хэрэглэгчийг зөвшөөрөх ёстой. Хэрэв ийм хэрэглэгч олдохгүй бол зөвшөөрлийг цуцалж, бүтэлгүйтлийн тухай мессеж гарч ирнэ. Хэрэв шалгалт амжилттай болвол authorization() функц нь сесс эхлүүлж, хэрэглэгчийн нэвтрэх болон нууц үгийн утгыг бичиж, зөвшөөрөл амжилттай болсон тухай скриптэд мэдэгдэх ба скрипт нь хэрэглэгчийг хамгаалагдсан нөөцийн хуудас руу дахин чиглүүлэх болно.

/** * Хэрэглэгчийн зөвшөөрлийн функц. * Хэрэглэгчийн зөвшөөрлийг * PHP сесс ашиглан гүйцэтгэнэ. */ function authorization($login, $password) ( // Боломжит алдааны мессеж бүхий хувьсагчийг эхлүүлэх $алдаа = ""; // Хэрэв нэвтрэх мөр байхгүй бол (!$login) ( $алдаа) алдааны мессежийг буцаана. = " Нэвтрэхийг зааж өгөөгүй"; буцах $алдаа; ) elseif(!$нууц үг) ( $алдаа = "Нууц үг заагаагүй"; буцах $алдаа; ) // Хэрэглэгч бүртгүүлсэн эсэхийг шалгана уу // DBMS холболттой холбогдоно уу( ); // Бид ийм хэрэглэгч бүртгэгдсэн хүмүүсийн дунд байгаа эсэхийг шалгах хэрэгтэй // Асуулгын мөрийг бичнэ үү $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" БОЛОН `. password`="".$password ."""; // $query = mysql_query($sql) эсвэл үхэх(" хүсэлтийг гүйцэтгэх

Асуултыг гүйцэтгэх боломжгүй: " . mysql_error() . ". " __LINE__ " мөрөнд алдаа гарлаа.

"); // Хэрэв ийм өгөгдөлтэй хэрэглэгч байхгүй бол алдааны мессежийг буцаана if(mysql_num_rows($query) == 0) ( $error = "Заасан өгөгдөлтэй хэрэглэгч бүртгүүлээгүй байна"; буцаах $алдаа; ) // Хэрэв хэрэглэгч байгаа бол session_start();/-ыг эхлүүлнэ үү. // Хэрэглэгчийн нэвтрэх нэр болон нууц үгээ бичнэ үү // Үүний тулд бид суперглобал массивыг ашигладаг $_SESSION $_SESSION["login"] = $login; $_SESSION[ "password"] = $password; / / Өгөгдлийн сангийн холболтыг хаахаа мартуузай mysql_close(); // Хэрэглэгчийн зөвшөөрлийг амжилттай буцаахыг харуулахын тулд үнэнийг буцаана; )

Хэрэглэгч хамгаалагдсан хуудас руу ороход та түүний зөвшөөрлийн мэдээллийн үнэн зөв эсэхийг шалгах хэрэгтэй. Үүнийг хийхийн тулд бидэнд өөр захиалгат функц хэрэгтэй. Үүнийг checkAuth() гэж нэрлэе. Үүний үүрэг бол хэрэглэгчийн зөвшөөрлийн өгөгдлийг манай мэдээллийн санд хадгалагдсан мэдээллээр баталгаажуулах явдал юм. Хэрэв өгөгдөл таарахгүй бол хэрэглэгч нэвтрэх хуудас руу шилжих болно.

Функц checkAuth($login, $password) ( // Хэрэв нэвтрэх эсвэл нууц үг байхгүй бол false, if(!$login || !$password) нь худал буцаана; // Ийм хэрэглэгч бүртгэгдсэн эсэхийг шалгана уу // DBMS connect(); // Асуулгын мөр үүсгэх $sql = "хэрэглэгчдээс `id`-ийг SELECT `login`="".$login."" БОЛОН `password`="".$нууц үг.""" ; // $ query = mysql_query($sql) эсвэл үхэх(" хүсэлтийг гүйцэтгэх

Асуултыг гүйцэтгэх боломжгүй: " . mysql_error() . ". " __LINE__ " мөрөнд алдаа гарлаа.

"); // Хэрэв ийм өгөгдөлтэй хэрэглэгч байхгүй бол худал буцаана; if(mysql_num_rows($query) == 0) ( return false; ) // Өгөгдлийн сангийн холболтыг хаахаа бүү мартаарай mysql_close(); // Үгүй бол үнэн буцаах үнэн; )

Одоо хэрэглэгч хамгаалагдсан хуудсанд ирсэн тул бид зөвшөөрлийн өгөгдлийг шалгах функцийг дуудах ёстой. Бид дуудлага болон баталгаажуулах скриптийг тусдаа checkAuth.php файлд байрлуулж, олон нийтэд хандах боломжгүй хуудсуудтай холбох болно.

/** * Хэрэглэгчийн зөвшөөрлийг шалгах скрипт */ // Зөвшөөрөгдсөн хэрэглэгчийн нэвтрэх болон нууц үгийг гаргаж авах сесс эхлүүлнэ // session_start(); // Захиалгат функцтэй файлыг холбох require_once("functions.php"); /** * Хэрэглэгчийн зөвшөөрөлтэй эсэхийг тодорхойлохын тулд түүний нэвтрэх * болон нууц үгийн мэдээллийн санд бүртгэл байгаа эсэхийг шалгах шаардлагатай. Үүнийг хийхийн тулд бид нэвтэрсэн хэрэглэгчийн өгөгдлийн зөв эсэхийг шалгахын тулд тусгай функцийг ашиглах болно. * Хэрэв энэ функц худал буцаавал зөвшөөрөл байхгүй болно. * Хэрэв зөвшөөрөл байхгүй бол бид зүгээр л * хэрэглэгчийг зөвшөөрлийн хуудас руу шилжүүлнэ. */ // Хэрэв сесс нь нэвтрэх болон нууц үгийн өгөгдлийг хоёуланг нь агуулж байвал // тэдгээрийг шалгана уу (isset($_SESSION["login"]) && $_SESSION["login"] && isset($_SESSION["нууц үг" ]) && $_SESSION["нууц үг"]) ( // Хэрэв байгаа өгөгдлийг шалгахад амжилтгүй болвол(!checkAuth($_SESSION["login"], $_SESSION["нууц үг"])) ( // Хэрэглэгчийг нэвтрэх хуудасны толгой хэсэг рүү дахин чиглүүлэх( "location: login.php"); // скриптээс гарахыг зогсоох; ) ) // Хэрэв хэрэглэгчийн нэвтрэх болон нууц үгийн талаар мэдээлэл байхгүй бол // зөвшөөрөл байхгүй гэж бид хэрэглэгчийг дахин чиглүүлнэ // зөвшөөрлийн хуудас руу өөр ( толгой("байршил: login.php"); // Скриптээс гарах ажиллагааг зогсоох; )

Одоо аюулгүй хуудасныхаа кодыг үүсгэцгээе. Энэ нь маш энгийн байх болно.

Хэрэглэгчийн зөвшөөрөл, бүртгэл

Амжилттай зөвшөөрөл.

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



Таны харж байгаагаар хамгаалагдсан баримт бичигт бид зөвхөн нэг файлыг оруулсан болно - checkAuth.php. Бусад бүх файлууд нь бусад скриптүүдэд холбогдсон байна. Тиймээс манай код тийм ч төвөгтэй харагдахгүй байна. Бид хэрэглэгчийн бүртгэл, зөвшөөрөл олгох ажлыг зохион байгуулсан. Одоо та хэрэглэгчдэд гарахыг зөвшөөрөх хэрэгтэй. Үүний тулд бид logout.php файлд скрипт үүсгэнэ.

/** * Хэрэглэгчийн гарах скрипт. Хэрэглэгчид * сессээр нэвтэрдэг тул тэдний нэвтрэх болон нууц үгийг * $_SESSION супер дэлхийн массивт хадгалдаг. Системээс * гарахын тулд $_SESSION["login"] ба $_SESSION["нууц үг"] массивын * утгуудыг устгаад, үүний дараа бид * хэрэглэгчийг нэвтрэх хуудас руу дахин чиглүүлнэ */ // Байна. сессийг эхлүүлэхээ мартуузай session_start(); тохируулаагүй($_SESSION["нэвтрэх"]); тохируулаагүй($_SESSION["нууц үг"]); толгой("байршил: login.php");

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

P.S. Объект хандалтат код бичих нь илүү дээр гэдгийг би мэднэ, нууц үгээ тодорхой текстээр дамжуулах, хадгалах нь үнэ цэнэтэй зүйл биш, мэдээллийн санд оруулсан мэдээллийг урьдчилан шалгах ёстой гэдгийг би мэднэ. Би мэднэ. Би энэ талаар энд ярихгүй.