การสร้างระบบการลงทะเบียนผู้ใช้อย่างง่ายใน PHP และ MySQL การสร้างระบบการลงทะเบียนที่เรียบง่ายอย่างไม่น่าเชื่อใน PHP และหน้าการลงทะเบียน MySQL ใน PHP

Reg.ru: โดเมนและโฮสติ้ง

นายทะเบียนและผู้ให้บริการโฮสติ้งที่ใหญ่ที่สุดในรัสเซีย

มีชื่อโดเมนมากกว่า 2 ล้านชื่อที่ให้บริการ

โปรโมชั่น เมลโดเมน โซลูชั่นทางธุรกิจ

ลูกค้ามากกว่า 700,000 รายทั่วโลกได้ตัดสินใจเลือกแล้ว

*เลื่อนเมาส์ไปเหนือเพื่อหยุดการเลื่อนชั่วคราว

กลับไปข้างหน้า

การสร้างระบบการลงทะเบียนผู้ใช้อย่างง่ายใน PHP และ MySQL

การสร้างระบบการลงทะเบียนเป็นงานหนัก คุณต้องเขียนโค้ดที่ตรวจสอบที่อยู่อีเมล ส่งอีเมลยืนยันการลงทะเบียน และตรวจสอบฟิลด์แบบฟอร์มอื่นๆ และอื่นๆ อีกมากมาย

และแม้กระทั่งหลังจากที่คุณเขียนทั้งหมดนี้แล้ว ผู้ใช้ก็จะลังเลที่จะลงทะเบียน เพราะ... สิ่งนี้ต้องใช้ความพยายามในส่วนของพวกเขา

ในบทช่วยสอนนี้ เราจะสร้างระบบการลงทะเบียนที่เรียบง่ายที่ไม่ต้องใช้หรือจัดเก็บรหัสผ่านเลย! ผลลัพธ์จะง่ายต่อการแก้ไขและเพิ่มลงในไซต์ PHP ที่มีอยู่ ต้องการทราบวิธีการทำงานหรือไม่? อ่านด้านล่าง



นี่คือวิธีที่ระบบสุดง่ายของเราทำงาน:

เราจะรวมแบบฟอร์มการอนุญาตและการลงทะเบียน แบบฟอร์มนี้จะมีช่องสำหรับป้อนที่อยู่อีเมลและปุ่มลงทะเบียน
- เมื่อกรอกที่อยู่อีเมลในช่อง การคลิกที่ปุ่มลงทะเบียนจะสร้างบันทึกเกี่ยวกับผู้ใช้ใหม่ แต่เฉพาะในกรณีที่ไม่พบที่อยู่อีเมลที่ป้อนในฐานข้อมูล

หลังจากนั้นจะมีการสร้างชุดอักขระ (โทเค็น) แบบสุ่มที่ไม่ซ้ำกันซึ่งจะถูกส่งไปยังอีเมลที่ผู้ใช้ระบุในรูปแบบของลิงก์ที่จะเกี่ยวข้องเป็นเวลา 10 นาที
- ลิงก์จะนำผู้ใช้ไปยังเว็บไซต์ของเรา ระบบจะกำหนดการมีอยู่ของโทเค็นและอนุญาตผู้ใช้

ข้อดีของแนวทางนี้:

ไม่จำเป็นต้องจัดเก็บรหัสผ่านหรือตรวจสอบฟิลด์
- ไม่จำเป็นต้องกู้คืนรหัสผ่าน คำถามเพื่อความปลอดภัย ฯลฯ
- นับตั้งแต่วินาทีที่ผู้ใช้ลงทะเบียน/เข้าสู่ระบบ คุณสามารถมั่นใจได้เสมอว่าผู้ใช้รายนี้จะอยู่ในโซนการเข้าถึงของคุณ (ที่อยู่อีเมลนั้นเป็นจริง)
- ขั้นตอนการลงทะเบียนที่ง่ายดายอย่างไม่น่าเชื่อ;

ข้อบกพร่อง:

ความปลอดภัยของบัญชีผู้ใช้ หากมีคนเข้าถึงเมลของผู้ใช้ ก็สามารถเข้าสู่ระบบได้
- อีเมลไม่ปลอดภัยและสามารถดักจับได้ โปรดทราบว่าคำถามนี้ยังเกี่ยวข้องในกรณีที่ลืมรหัสผ่านและจำเป็นต้องกู้คืน หรือในระบบการอนุญาตใดๆ ที่ไม่ได้ใช้ HTTPS สำหรับการถ่ายโอนข้อมูล (เข้าสู่ระบบ/รหัสผ่าน)
- ในขณะที่คุณกำหนดค่าเมลเซิร์ฟเวอร์ของคุณอย่างถูกต้อง ก็มีโอกาสที่ข้อความที่มีลิงก์การอนุญาตจะจบลงในสแปม

เมื่อเปรียบเทียบข้อดีและข้อเสียของระบบของเรา เราสามารถพูดได้ว่าระบบมีการใช้งานสูง (ความสะดวกสูงสุดสำหรับผู้ใช้ปลายทาง) และในขณะเดียวกันก็มีตัวบ่งชี้ความปลอดภัยต่ำ

ดังนั้นจึงแนะนำให้ใช้สำหรับการลงทะเบียนในฟอรัมและบริการที่ไม่ทำงานกับข้อมูลสำคัญ

วิธีการใช้งานระบบนี้

ในกรณีที่คุณเพียงต้องใช้ระบบเพื่ออนุญาตผู้ใช้บนไซต์ของคุณ และคุณไม่ต้องการแยกบทเรียนนี้ออกเป็นชิ้นๆ สิ่งที่คุณต้องทำมีดังนี้:

คุณต้องดาวน์โหลดแหล่งข้อมูลที่แนบมากับบทเรียน
- ค้นหาไฟล์ tables.sql ในไฟล์เก็บถาวร นำเข้าไปยังฐานข้อมูลของคุณโดยใช้ตัวเลือกการนำเข้าใน phpMyAdmin วิธีอื่น: เปิดไฟล์นี้ผ่านโปรแกรมแก้ไขข้อความ คัดลอกแบบสอบถาม SQL และดำเนินการ
- เปิด include/main.php แล้วกรอกการตั้งค่าสำหรับการเชื่อมต่อกับฐานข้อมูลของคุณ (ระบุผู้ใช้และรหัสผ่านสำหรับการเชื่อมต่อกับฐานข้อมูล รวมถึงโฮสต์และชื่อของฐานข้อมูล) ในไฟล์เดียวกันคุณต้องระบุอีเมลที่จะใช้เป็นที่อยู่เดิมสำหรับข้อความที่ระบบส่ง โฮสต์บางแห่งบล็อกอีเมลขาออก เว้นแต่แบบฟอร์มจะมีที่อยู่อีเมลจริงซึ่งสร้างขึ้นจากแผงควบคุมของโฮสต์ ดังนั้นให้ระบุที่อยู่จริง
- อัปโหลดไฟล์และเนื้อหา index.php , protected.php ทั้งหมด และรวมโฟลเดอร์ผ่าน FTP ไปยังโฮสต์ของคุณ
- เพิ่มโค้ดด้านล่างในแต่ละหน้า PHP ที่คุณต้องการแสดงแบบฟอร์มเข้าสู่ระบบ

Require_once "รวม/main.php"; $user = ผู้ใช้ใหม่(); if(!$user->loggedIn())( เปลี่ยนเส้นทาง("index.php"); )
- พร้อม!

สำหรับผู้ที่สนใจวิธีการทำงานทั้งหมด อ่านด้านล่างได้เลย!

ขั้นตอนแรกคือการเขียนรหัส HTM สำหรับแบบฟอร์มการอนุญาต รหัสนี้อยู่ในไฟล์ index.php ไฟล์นี้ยังมีโค้ด PHP ที่จัดการข้อมูลแบบฟอร์มและฟังก์ชันระบบการเข้าสู่ระบบที่เป็นประโยชน์อื่นๆ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ได้ในส่วนด้านล่างสำหรับการตรวจสอบโค้ด PHP

ดัชนี.php

บทช่วยสอน: ระบบการลงทะเบียนสุดง่ายด้วยการเข้าสู่ระบบหรือลงทะเบียน PHP และ MySQL

ป้อนที่อยู่อีเมลของคุณด้านบนแล้วเราจะส่ง
คุณเป็นลิงค์เข้าสู่ระบบ

เข้าสู่ระบบ/ลงทะเบียน

ในส่วนหัว (ระหว่างแท็ก และ) ฉันได้รวมสไตล์หลักไว้ด้วย (ไม่ครอบคลุมอยู่ในบทช่วยสอนนี้ ดังนั้นคุณจึงสามารถดูได้ด้วยตัวเอง Folder Assets/css/style.css) ก่อนแท็กปิด ฉันรวมไลบรารี jQuery และไฟล์ script.js ซึ่งเราจะเขียนและวิเคราะห์ด้านล่างนี้


จาวาสคริปต์

jQuery ติดตามสถานะของปุ่ม "ลงทะเบียน/เข้าสู่ระบบ" โดยใช้ฟังก์ชัน e.preventDefault()และส่งคำขอ AJAX ขึ้นอยู่กับการตอบสนองของเซิร์ฟเวอร์ จะแสดงข้อความหนึ่งหรือข้อความอื่นและกำหนดการดำเนินการเพิ่มเติม/

สินทรัพย์/js/script.js

$(function())( var form = $("#login-register"); form.on("submit", function(e)( if(form.is(".loading, .loggedIn"))( กลับ false ; ) var email = form.find("input").val(), messageHolder = form.find("span"); $.post(this.action, (อีเมล: อีเมล), ฟังก์ชัน (m)( if (m.error)( form.addClass("error"); messageHolder.text(m.message); ) else( form.removeClass("error").addClass("loggedIn"); messageHolder.text(m.message ); ) )); $(document).ajaxStart(function())( form.addClass("กำลังโหลด") ;

ถูกเพิ่มลงในแบบฟอร์มเพื่อแสดงสถานะปัจจุบันของคำขอ AJAX (สิ่งนี้เกิดขึ้นได้เนื่องจากวิธีการต่างๆ อาแจ็กซ์สตาร์ท()) และ อาแจ็กซ์เสร็จสมบูรณ์()ซึ่งคุณจะพบได้ที่ส่วนท้ายของไฟล์)

คลาสนี้แสดงไฟล์ GIF แบบเคลื่อนไหวที่หมุนได้ (ราวกับว่าเป็นการบอกเราว่าคำขอกำลังได้รับการประมวลผล) และยังทำหน้าที่เป็นแฟล็กเพื่อป้องกันไม่ให้ส่งแบบฟอร์มอีกครั้ง (เมื่อมีการคลิกปุ่มลงทะเบียนแล้วหนึ่งครั้ง) คลาส .loggedIn เป็นอีกหนึ่งแฟล็ก - ถูกกำหนดไว้เมื่อมีการส่งอีเมล การตั้งค่าสถานะนี้จะบล็อกการดำเนินการใดๆ เพิ่มเติมกับแบบฟอร์มทันที

สคีมาฐานข้อมูล

ระบบการบันทึกที่เรียบง่ายอย่างไม่น่าเชื่อของเราใช้ตาราง MySQL 2 ตาราง (โค้ด SQL อยู่ในไฟล์ tables.sql) ส่วนแรกจะจัดเก็บข้อมูลเกี่ยวกับบัญชีผู้ใช้ ส่วนที่สองเก็บข้อมูลเกี่ยวกับจำนวนครั้งที่พยายามเข้าสู่ระบบ


สคีมาตารางผู้ใช้

ระบบไม่ใช้รหัสผ่านดังที่เห็นในแผนภาพ คุณจะเห็นคอลัมน์โทเค็นที่มีโทเค็นอยู่ติดกับคอลัมน์ token_validity โทเค็นจะถูกติดตั้งทันทีที่ผู้ใช้เชื่อมต่อกับระบบและตั้งค่าอีเมลให้ส่งข้อความ (เพิ่มเติมเกี่ยวกับเรื่องนี้ในบล็อกถัดไป) คอลัมน์ token_validity จะตั้งเวลา 10 นาทีให้หลัง หลังจากนั้นโทเค็นจะใช้ไม่ได้อีกต่อไป


สคีมาตารางที่นับจำนวนความพยายามในการอนุญาต

ในทั้งสองตาราง ที่อยู่ IP จะถูกจัดเก็บในรูปแบบที่ประมวลผล โดยใช้ฟังก์ชัน ip2long ในช่องประเภทจำนวนเต็ม

ตอนนี้เราสามารถเขียนโค้ด PHP ได้แล้ว ฟังก์ชั่นหลักของระบบถูกกำหนดให้กับคลาส User.class.php ซึ่งคุณสามารถดูด้านล่าง

คลาสนี้ใช้งาน idorm (เอกสาร) ไลบรารีเหล่านี้เป็นเครื่องมือขั้นต่ำที่จำเป็นในการทำงานกับฐานข้อมูล จัดการการเข้าถึงฐานข้อมูล การสร้างโทเค็น และการตรวจสอบโทเค็น มีอินเทอร์เฟซที่เรียบง่ายซึ่งทำให้ง่ายต่อการเชื่อมต่อระบบลงทะเบียนกับเว็บไซต์ของคุณหากใช้ PHP

User.class.php

Class User( // Private ORM case private $orm; /** * ค้นหาผู้ใช้ด้วยโทเค็น เฉพาะโทเค็นที่ถูกต้องเท่านั้นที่จะได้รับการพิจารณา โทเค็นจะถูกสร้างขึ้นเพียง 10 นาทีนับจากช่วงเวลาที่ถูกสร้างขึ้น * @param string $token นี่คือสิ่งที่เรากำลังมองหาโทเค็น * @return User ส่งกลับค่าของฟังก์ชัน User */ public static function findByToken($token)( // ค้นหาโทเค็นในฐานข้อมูลและตรวจสอบให้แน่ใจว่าได้ตั้งค่าเวลาที่ถูกต้อง $ result = ORM::for_table("reg_users") ->where ("token", $token) ->where_raw("token_validity > NOW()") ->find_one(); if(!$result)( return false; ) คืนผู้ใช้ใหม่($result) /** *); อนุญาตหรือลงทะเบียนผู้ใช้ * @param string $email. ที่อยู่อีเมลของผู้ใช้ * @return User */ public static function loginOrRegister($email)( // หากเป็นผู้ใช้ดังกล่าว มีอยู่แล้ว ให้ส่งคืนค่าของฟังก์ชัน User จากที่อยู่อีเมลที่ระบุซึ่งจัดเก็บไว้ในฐานข้อมูล if(User::exists($email))( return new User($email); ) // มิฉะนั้น ให้สร้างผู้ใช้ใหม่ใน ฐานข้อมูลและส่งกลับค่าของฟังก์ชัน User::create จากอีเมลที่ระบุ return User::create($email );

โทเค็นถูกสร้างขึ้นโดยใช้อัลกอริทึม SHA1 และจัดเก็บไว้ในฐานข้อมูล ฉันใช้ฟังก์ชันจับเวลาของ MySQL เพื่อกำหนดเวลา 10 นาทีสำหรับความถูกต้องของโทเค็น

เมื่อโทเค็นได้รับการตรวจสอบ เราจะแจ้งให้ผู้จัดการทราบโดยตรงว่าเรากำลังพิจารณาเฉพาะโทเค็นที่ยังไม่หมดอายุ โดยจัดเก็บไว้ในคอลัมน์ token_validity

โปรดทราบว่าฉันกำลังใช้วิธีเวทย์มนตร์ __รับไลบรารีเอกสารที่ส่วนท้ายของไฟล์เพื่อสกัดกั้นการเข้าถึงคุณสมบัติของวัตถุผู้ใช้

ด้วยเหตุนี้ มันจึงเป็นไปได้ที่จะเข้าถึงข้อมูลที่เก็บไว้ในฐานข้อมูล ต้องขอบคุณคุณสมบัติ $user->email, $user->token ฯลฯ ในส่วนโค้ดถัดไป เราจะดูวิธีใช้คลาสเหล่านี้เป็น ตัวอย่าง.


หน้าที่ได้รับการคุ้มครอง

ไฟล์อื่นที่เก็บฟังก์ชันที่มีประโยชน์และจำเป็นคือไฟล์ function.php มีสิ่งที่เรียกว่าตัวช่วยหลายอย่าง - ฟังก์ชั่นผู้ช่วยที่ช่วยให้คุณสามารถสร้างโค้ดที่สะอาดกว่าและอ่านได้ง่ายขึ้นในไฟล์อื่น

ฟังก์ชั่น.php

ฟังก์ชัน send_email($from, $to, $subject, $message)( // ตัวช่วยส่งอีเมล $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type: text /plain; charset=utf-8" . "\r\n"; $headers .= "จาก: ".$from . "\r\n"; return mail($to, $subject, $message, $headers ); ) function get_page_url())( // กำหนด URL ของไฟล์ PHP $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"]; return $url; function 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(); // จำนวนความพยายามเข้าสู่ระบบในช่วง 10 นาทีที่ผ่านมาที่ที่อยู่ IP นี้ $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)( Throw new Exception("Too many log allowances!"); ) ) function 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)( header("ตำแหน่ง: $url"); exit; ) ฟังก์ชั่นอัตรา_ขีดจำกัด และอัตรา_จำกัด_ขีด

ตรวจสอบจำนวนความพยายามในการอนุญาตในช่วงเวลาที่ผ่านไปนับตั้งแต่ความพยายามครั้งแรก ความพยายามในการเข้าสู่ระบบจะถูกบันทึกไว้ในฐานข้อมูลในคอลัมน์ reg_login_attempt ฟังก์ชันเหล่านี้จะถูกเรียกเมื่อมีการประมวลผลและส่งข้อมูลแบบฟอร์มตามที่คุณเห็นจากข้อมูลโค้ดต่อไปนี้

ดัชนี.php

Try( if(!empty($_POST) && isset($_SERVER["HTTP_X_REQUESTED_WITH"]))( // ส่งออกส่วนหัวของ JSON ("Content-type: application/json"); // ที่อยู่อีเมลนี้ถูกต้องหรือไม่หาก (!isset($_POST["email"]) || !filter_var($_POST["email"], FILTER_VALIDATE_EMAIL))( Throw new Exception("Please enter a valid email."); ) // ตรวจสอบว่าเป็น ผู้ใช้ได้รับอนุญาตให้เข้าสู่ระบบ เขาเกินจำนวนการเชื่อมต่อที่อนุญาตหรือไม่ (ไฟล์ function.php สำหรับข้อมูลเพิ่มเติม) rate_limit($_SERVER["REMOTE_ADDR"]); // บันทึกความพยายามในการอนุญาตนี้ rate_limit_tick($_SERVER["REMOTE_ADDR"] , $ _POST["email"]); // ส่งอีเมลถึงผู้ใช้ $message = ""; $email = $_POST["email"]; $subject = "Your Login Link"; ขอบคุณสำหรับการลงทะเบียน!"; $message = "ขอขอบคุณสำหรับการลงทะเบียนที่เว็บไซต์ของเรา!\n\n"; ) // พยายามอนุญาตหรือลงทะเบียนผู้ใช้ $user = User::loginOrRegister($_POST[ "email"] ); $message.= "คุณสามารถเข้าสู่ระบบได้จาก URL นี้:\n";

$message.= get_page_url()"?tkn=".$user->generateToken()"\n\n"; $message.= "ลิงก์จะหมดอายุโดยอัตโนมัติหลังจากผ่านไป 10 นาที";$result = send_email($fromEmail, $_POST["email"], $subject, $message);

ดัชนี.php

if(!$result)( Throw new Exception("There was an error send your email. Please try again."); ) die(json_encode(array("message" => "Thank you! We\"ve send a link แล้ว) ไปยังกล่องจดหมายของคุณ ตรวจสอบโฟลเดอร์สแปมของคุณด้วย"))); ) ) catch(Exception $e)( die(json_encode(array("error"=>1, "message" => $e->getMessage() )));

หลังจากเข้าสู่ระบบ/ลงทะเบียนสำเร็จ รหัสด้านบนจะส่งลิงก์เข้าสู่ระบบให้กับผู้ใช้ โทเค็นจะพร้อมใช้งานเพราะว่า มันถูกส่งผ่านเป็นตัวแปรในลิงค์ที่สร้างขึ้นโดยเมธอด

$_GET

ด้วยเครื่องหมาย tkn

ดัชนี.php

If(isset($_GET["tkn"]))( // โทเค็นนี้ถูกต้องสำหรับการอนุญาตหรือไม่ $user = User::findByToken($_GET["tkn"]); if($user)( // ใช่ , คือ เปลี่ยนเส้นทางไปยังหน้าที่มีการป้องกัน $user->login(); เปลี่ยนเส้นทาง("protected.php"); // ไม่ โทเค็นไม่ถูกต้อง ). "); )

ในตอนท้ายของโค้ด ฉันตั้งค่าการเปลี่ยนเส้นทางไปที่ index.php อีกครั้ง ดังนั้นพารามิเตอร์ ?ออกจากระบบ=1ไม่จำเป็นต้องส่งผ่าน URL

ไฟล์ index.php ของเราต้องการข้อมูลเพิ่มเติม การป้องกัน - เราไม่ต้องการให้ผู้ที่เข้าสู่ระบบแล้วเห็นแบบฟอร์มการลงทะเบียนอีกครั้ง เพื่อจุดประสงค์เหล่านี้ เราใช้วิธีนี้ $ผู้ใช้->เข้าสู่ระบบ().

ดัชนี.php

$user = ผู้ใช้ใหม่(); if($user->loggedIn())( เปลี่ยนเส้นทาง("protected.php"); )

สุดท้ายนี้ นี่คือโค้ดส่วนหนึ่งที่ช่วยให้คุณสามารถปกป้องหน้าต่างๆ ในเว็บไซต์ของคุณ และทำให้สามารถเข้าถึงได้หลังจากได้รับอนุญาตแล้วเท่านั้น

protected.php

// เพื่อปกป้องทุกหน้าในไซต์ของคุณ ให้รวมไฟล์ main.php // และสร้างออบเจ็กต์ผู้ใช้ใหม่ นั่นเป็นวิธีที่ง่าย! need_once "รวม/main.php"; $user = ผู้ใช้ใหม่(); if(!$user->loggedIn())( เปลี่ยนเส้นทาง("index.php"); )

หลังจากการตรวจสอบนี้ คุณจะมั่นใจได้ว่าผู้ใช้ได้รับการอนุมัติเรียบร้อยแล้ว คุณยังสามารถเข้าถึงข้อมูลที่เก็บไว้ในฐานข้อมูลโดยใช้คุณสมบัติของวัตถุ ผู้ใช้ $- หากต้องการแสดงอีเมลและสถานะของผู้ใช้ ให้ใช้รหัสนี้:

Echo "อีเมลของคุณ: ".$user->อีเมล; echo "อันดับของคุณ: ".$user->rank();

วิธี อันดับ()ถูกใช้ที่นี่เนื่องจากฐานข้อมูลมักจะเก็บตัวเลข (0 สำหรับผู้ใช้ทั่วไป 1 สำหรับผู้ดูแลระบบ) และเราจำเป็นต้องแปลงข้อมูลนี้เป็นสถานะที่เกี่ยวข้อง ซึ่งเป็นสิ่งที่วิธีนี้ช่วยเราได้

หากต้องการให้ผู้ใช้ทั่วไปเป็นผู้ดูแลระบบ เพียงแก้ไขรายการผู้ใช้ผ่าน phpMyAdmin (หรือโปรแกรมอื่นใดที่อนุญาตให้คุณจัดการฐานข้อมูล) สถานะของผู้ดูแลระบบไม่ได้ให้สิทธิ์ใดๆ ในตัวอย่างนี้ หน้านี้จะแสดงว่าคุณเป็นผู้ดูแลระบบ - เท่านี้ก็เรียบร้อย

แต่จะทำอย่างไรกับสิ่งนี้ก็ขึ้นอยู่กับดุลยพินิจของคุณ คุณสามารถเขียนและเขียนโค้ดด้วยตัวเองที่กำหนดสิทธิ์และความสามารถบางอย่างสำหรับผู้ดูแลระบบ

เราทำเสร็จแล้ว!

เราเสร็จสิ้นแล้วด้วยรูปทรงกึ่งเรียบง่ายสุดเหลือเชื่อนี้! คุณสามารถใช้มันบนเว็บไซต์ PHP ของคุณได้ มันค่อนข้างง่าย คุณยังสามารถปรับเปลี่ยนได้ด้วยตัวเองและทำให้เป็นแบบที่คุณต้องการ

เนื้อหานี้จัดทำโดย Denis Malyshok สำหรับเว็บไซต์โดยเฉพาะ

ป.ล.

คุณต้องการที่จะก้าวไปอีกขั้นในการเรียนรู้ PHP และ OOP หรือไม่? ให้ความสนใจกับบทเรียนระดับพรีเมียมในด้านต่างๆ ของการสร้างเว็บไซต์ รวมถึงการเขียนโปรแกรมใน PHP รวมถึงหลักสูตรฟรีเกี่ยวกับการสร้างระบบ CMS ของคุณเองใน PHP ตั้งแต่เริ่มต้นโดยใช้ OOP:
คุณชอบเนื้อหาและต้องการขอบคุณฉันหรือไม่?


เพียงแบ่งปันกับเพื่อนและเพื่อนร่วมงานของคุณ!

การลงทะเบียนหรือลงทะเบียนผู้ใช้เป็นส่วนสำคัญของเว็บแอปพลิเคชั่นจำนวนมาก และจำเป็นอย่างยิ่งที่จะต้องทำให้ถูกต้องเพื่อความสำเร็จของแอปพลิเคชั่น เป็นจุดเริ่มต้นของการมีส่วนร่วมของผู้ใช้กับแอปพลิเคชันของคุณ

มันควรจะง่ายที่สุดเท่าที่จะเป็นไปได้ด้วย UI / UX ที่ดีที่สุด การใช้ฟังก์ชันการลงทะเบียนผู้ใช้โดยใช้ PHP เป็นเรื่องง่าย และฉันจะแนะนำคุณตลอดขั้นตอนพร้อมตัวอย่างในบทความนี้

อะไรอยู่ข้างใน? ตัวอย่างการลงทะเบียนผู้ใช้ PHP นี้ทำงานอย่างไร

โค้ดตัวอย่างนี้สามารถแยกออกเป็น 3 ส่วน

  • รับข้อมูลผู้ใช้ผ่านแบบฟอร์ม HTML
  • ตรวจสอบข้อมูลที่ผู้ใช้ส่งมาในการส่งแบบฟอร์ม
  • การจัดการฐานข้อมูลเพื่อบันทึกผู้ใช้ที่ลงทะเบียนไปยังฐานข้อมูลหลังจากการตรวจสอบความถูกต้อง
  • ขั้นตอนที่สามจะดำเนินการหลังจากตรวจสอบให้แน่ใจว่าไม่ได้เพิ่มผู้ใช้แล้ว การตรวจสอบความถูกต้องของข้อมูลนี้จะดำเนินการตามอีเมลและชื่อผู้ใช้ที่พวกเขาป้อน

    ในระหว่างการลงทะเบียน โดยทั่วไปเราจะรวบรวมข้อมูลผู้ใช้ที่พร้อมจะลงทะเบียนกับแอปพลิเคชันของเรา บางส่วนจะบังคับและบางส่วนจะเป็นทางเลือก

    ดังนั้นฟังก์ชันนี้อาจรวมถึงส่วนการตรวจสอบเพื่อให้แน่ใจว่าไม่ว่างเปล่าและรูปแบบของข้อมูลผู้ใช้ การตรวจสอบสามารถทำได้ทั้งฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์

    การมีการตรวจสอบที่ฝั่งเซิร์ฟเวอร์จะดีกว่าเสมอ คุณสามารถเลือกให้มีในฝั่งไคลเอ็นต์ได้เพื่อความสะดวกในการใช้งานของผู้ใช้ แต่การมีที่ฝั่งเซิร์ฟเวอร์ไม่ใช่ทางเลือกและเป็นข้อกำหนดขั้นต่ำ

    โครงสร้างไฟล์

    แบบฟอร์ม HTML เพื่อให้ผู้ใช้สามารถลงทะเบียนได้

    ในตัวอย่างนี้ แบบฟอร์มลงทะเบียนประกอบด้วยฟิลด์ ชื่อผู้ใช้ ชื่อ(ชื่อที่แสดง) รหัสผ่าน และ อีเมล นอกจากนี้ยังมีช่องยืนยันรหัสผ่านเพื่อให้ผู้ใช้สามารถป้อนรหัสผ่านอีกครั้งเพื่อยืนยัน รหัสผ่านทั้งสองนี้จะถูกเปรียบเทียบในภายหลัง ณ เวลาที่

    เมื่อส่งแบบฟอร์มนี้ ผู้ใช้จะต้องยอมรับข้อกำหนดและเงื่อนไข ดังนั้นจึงมีการเพิ่มช่องทำเครื่องหมายก่อนปุ่มลงทะเบียนเพื่อให้แน่ใจ

    แบบฟอร์มลงทะเบียนผู้ใช้ PHP ลงทะเบียนชื่อผู้ใช้