เราสร้างระบบการลงทะเบียนที่เรียบง่ายอย่างไม่น่าเชื่อใน PHP และ MySQL การสร้าง Simple PHP และ MySQL User Registration System Fictional member register php

เราสร้างระบบการลงทะเบียนที่เรียบง่ายอย่างไม่น่าเชื่อใน PHP และ MySQL การสร้าง Simple PHP และ MySQL User Registration System Fictional member register php

ในช่วงไม่กี่ปีที่ผ่านมา เว็บโฮสติ้งมีการเปลี่ยนแปลงอย่างมาก บริการเว็บโฮสติ้งได้เปลี่ยนวิธีการทำงานของเว็บไซต์ มีบริการหลายประเภท แต่วันนี้เราจะพูดถึงตัวเลือกที่มีให้สำหรับผู้ให้บริการโฮสติ้งผู้ค้าปลีก พวกเขาเป็น Linux Reseller Hosting และ Windows Reseller Hosting ก่อนที่เราจะเข้าใจความแตกต่างพื้นฐานระหว่างสองสิ่งนี้ มาดูกันดีกว่าว่าโฮสติ้งผู้ค้าปลีกคืออะไร

ตัวแทนจำหน่ายโฮสติ้ง

พูดง่ายๆ ก็คือ โฮสติ้งผู้ค้าปลีกคือรูปแบบหนึ่งของเว็บโฮสติ้งที่เจ้าของบัญชีสามารถใช้พื้นที่ฮาร์ดไดรฟ์เฉพาะและแบนด์วิดท์ที่จัดสรรไว้เพื่อจุดประสงค์ในการขายต่อไปยังเว็บไซต์ของบุคคลที่สาม บางครั้ง ผู้ค้าปลีกสามารถเช่าเซิร์ฟเวอร์เฉพาะจากบริษัทโฮสติ้ง (Linux หรือ Windows) และปล่อยให้บุคคลที่สามออกไปได้

ผู้ใช้เว็บไซต์ส่วนใหญ่ใช้ Linux หรือ Windows สิ่งนี้เกี่ยวข้องกับเวลาทำงาน ทั้งสองแพลตฟอร์มช่วยให้แน่ใจว่าเว็บไซต์ของคุณเพิ่มขึ้น 99% ของเวลาทั้งหมด

1. การปรับแต่ง

ความแตกต่างหลักประการหนึ่งระหว่าง Linux Reseller Hostingplan กับแผนให้บริการโดย Windows นั้นเกี่ยวกับการปรับแต่งเอง แม้ว่าคุณจะสามารถทดลองกับผู้เล่นทั้งสองได้หลายวิธี แต่ Linux นั้นปรับแต่งได้มากกว่า Windows ตัวหลังมีคุณสมบัติมากกว่าคู่กัน นั่นคือเหตุผลที่นักพัฒนาและผู้ดูแลระบบจำนวนมากพบว่า Linux เป็นมิตรกับลูกค้ามาก

2. แอปพลิเคชัน

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

อย่างไรก็ตาม โปรดทราบว่าหากคุณใช้ Linux สำหรับเว็บโฮสติ้ง แต่ในขณะเดียวกันก็ใช้ระบบปฏิบัติการ Windows แอพพลิเคชั่นบางตัวอาจไม่ทำงานง่ายๆ

3. ความมั่นคง

แม้ว่าทั้งสองแพลตฟอร์มจะมีเสถียรภาพ แต่ Linux Reseller Hosting ก็มีเสถียรภาพมากกว่าทั้งสองแพลตฟอร์ม เป็นแพลตฟอร์มโอเพ่นซอร์ส สามารถทำงานได้ในหลายสภาพแวดล้อม แพลตฟอร์มนี้สามารถปรับเปลี่ยนและพัฒนาได้ตลอดเวลา

4. .NET เข้ากันได้

ไม่ใช่ว่า Linux นั้นเหนือกว่า Windows ในทุกวิถีทางที่เป็นไปได้ เมื่อพูดถึงความเข้ากันได้ของ .NET Windows จะขโมยจุดเด่น เว็บแอปพลิเคชันสามารถพัฒนาได้อย่างง่ายดายบนแพลตฟอร์มการโฮสต์ Windows

5. ข้อได้เปรียบด้านต้นทุน

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

6. ติดตั้งง่าย

Windows ตั้งค่าได้ง่ายกว่ารุ่นอื่น ทุกสิ่งที่พูดและทำ Windows ยังคงรักษาความเป็นมิตรต่อผู้ใช้ตลอดหลายปีที่ผ่านมา

7. ความปลอดภัย

เลือกใช้โฮสติ้งตัวแทนจำหน่าย Linux เพราะมีความปลอดภัยมากกว่า Windows สิ่งนี้ถือเป็นจริงโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ดำเนินธุรกิจอีคอมเมิร์ซ

บทสรุป

การเลือกระหว่างทั้งสองจะขึ้นอยู่กับความต้องการของคุณและความยืดหยุ่นด้านต้นทุน บริการโฮสติ้งทั้งสองมีข้อดีที่เป็นเอกลักษณ์ แม้ว่า Windows จะติดตั้งง่าย แต่ Linux นั้นคุ้มค่า ปลอดภัย และใช้งานได้หลากหลายกว่า



ย้อนกลับไปในเดือนมีนาคมของปีนี้ ฉันมีประสบการณ์ที่แย่มากกับบริษัทสื่อที่ปฏิเสธที่จะจ่ายเงินให้ฉันและตอบอีเมลของฉัน พวกเขายังคงเป็นหนี้ฉันอยู่หลายพันดอลลาร์และความรู้สึกโกรธที่ฉันมีอยู่ทุกวัน ปรากฎว่าฉันไม่ได้อยู่คนเดียว และเจ้าของเว็บไซต์อีกหลายร้อยรายก็อยู่ในเรือลำเดียวกัน เป็นเรื่องปกติสำหรับหลักสูตรที่มีการโฆษณาดิจิทัล

บอกตามตรงว่า "มีบล็อกนี้มานานแล้วและก็เด้งไปมาในเครือข่ายโฆษณาต่างๆ มาก่อน หลังจากลบหน่วยโฆษณาออกจากบริษัทที่คอยขัดขวางฉัน ฉันก็กลับมาที่จุดหนึ่ง ฉันควรสังเกตด้วยว่า ฉันไม่เคยชอบผลิตภัณฑ์ AdSense ของ Google เลยซักนิด เพียงเพราะมันให้ความรู้สึกเหมือนเป็นโฆษณาแบบดิสเพลย์ "ท้ายสุด" ไม่ใช่จากมุมมองด้านคุณภาพ แต่มาจากรายได้อย่างหนึ่ง

จากสิ่งที่ฉันเข้าใจ คุณต้องการโฆษณา Google บนไซต์ของคุณ แต่คุณก็ต้องการให้บริษัทและเอเจนซีขนาดใหญ่อื่นๆ ทำเช่นกัน ด้วยวิธีนี้คุณจะเพิ่มความต้องการและรายได้ให้สูงสุด

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

ฉัน "แสดงโฆษณามาสองสามเดือนแล้วและรายได้ก็ใกล้เคียงกับที่ฉันทำร่วมกับบริษัทอื่น ฉันเลยพูดไม่ได้จริงๆ ว่าพวกเขาดีกว่าบริษัทอื่นมากไหม แต่จุดไหนที่พวกเขาโดดเด่น" เป็นจุดที่ฉันอยากจะทำจริงๆ การสื่อสารกับพวกเขาไม่เหมือนกับเครือข่ายอื่น ๆ ที่ฉันเคยใช้มา นี่เป็นกรณีที่ต่างกันจริงๆ:

พวกเขาส่งการชำระเงินครั้งแรกให้ฉันตรงเวลาด้วย Paypal แต่เพราะฉัน "ไม่ได้อยู่ในสหรัฐอเมริกา (และสิ่งนี้เกิดขึ้นกับทุกคนที่ฉันคิดว่า) ฉันจึงได้รับค่าธรรมเนียมจาก Paypal ฉันจึงส่งอีเมลถึงตัวแทนของฉันเกี่ยวกับเรื่องนี้เพื่อถามว่ามีวิธีหลีกเลี่ยงหรือไม่ในอนาคต

พวกเขากล่าวว่าพวกเขาไม่สามารถหลีกเลี่ยงค่าธรรมเนียมได้ แต่พวกเขาจะคืนเงินค่าธรรมเนียมทั้งหมด .... รวมถึงการชำระเงินล่าสุด! ไม่เพียงเท่านั้น แต่ยังได้รับการชำระเงินคืนภายใน 10 นาที!เมื่อไหร่ที่คุณเคยขอแบบนี้โดยไม่ต้องส่งต่อไปยัง "ฝ่ายการเงิน" แล้วไม่เคยได้รับคำตอบเลย

สิ่งสำคัญที่สุดคือฉันรักบริษัทนี้ ฉันอาจจะทำที่อื่นได้มากกว่านี้ ฉัน "ไม่แน่ใจจริงๆ แต่พวกเขามีผู้จัดพิมพ์อยู่กับฉันตลอดชีวิต ฉันไม่ใช่ไซต์ขนาดใหญ่ และฉัน "ไม่ได้สร้างรายได้มากมาย แต่ฉันรู้สึกเหมือน ลูกค้าคนสำคัญเมื่อฉันพูดคุยกับพวกเขา มันเป็น "การสูดอากาศบริสุทธิ์อย่างแท้จริงในอุตสาหกรรมที่สุกงอมด้วยการฉ้อโกงและการไม่ตอบสนอง

ไมโครคอมพิวเตอร์ที่ Raspberry Pi Foundation สร้างขึ้นในปี 2555 ประสบความสำเร็จอย่างสูงในการจุดประกายความคิดสร้างสรรค์ในเด็กเล็ก และบริษัทในอังกฤษแห่งนี้ก็เริ่มเสนอโปรแกรมเริ่มต้นการเรียนรู้เพื่อเขียนโค้ด เช่น pi-top an Kano ขณะนี้มีการเริ่มต้นใหม่ที่ใช้ประโยชน์จากอุปกรณ์อิเล็กทรอนิกส์ Pi และอุปกรณ์นี้เรียกว่า Pip ซึ่งเป็นคอนโซลมือถือที่มีหน้าจอสัมผัส หลายพอร์ต ปุ่มควบคุมและลำโพง แนวคิดเบื้องหลังอุปกรณ์นี้คือการดึงดูดผู้ที่อายุน้อยกว่าด้วยอุปกรณ์เกมที่ย้อนยุค แต่จะนำเสนอประสบการณ์การเรียนรู้โค้ดผ่านแพลตฟอร์มบนเว็บด้วย

แพลตฟอร์มซอฟต์แวร์ที่น่าทึ่งที่นำเสนอด้วย Pip จะเปิดโอกาสให้เริ่มเขียนโค้ดใน Python, HTML / CSS, JavaScript, Lua และ PHP อุปกรณ์มีบทช่วยสอนทีละขั้นตอนเพื่อให้เด็กๆ เริ่มเขียนโค้ด และช่วยให้พวกเขาสร้างไฟ LED ได้แม้กระทั่งแฟลช แม้ว่า Pip จะยังคงเป็นต้นแบบ แต่ก็จะได้รับความนิยมอย่างมากในอุตสาหกรรมนี้ และจะดึงดูดเด็กๆ ที่มีความสนใจในการเขียนโค้ด และจะมอบการศึกษาและทรัพยากรที่จำเป็นสำหรับพวกเขาในการเริ่มเขียนโค้ดตั้งแต่อายุยังน้อย

อนาคตของการเข้ารหัส

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

Pip ดึงดูดเด็กอย่างไร

เมื่อพูดถึงโอกาสในการเรียนรู้การเขียนโค้ด เด็กๆ มีตัวเลือกมากมาย มีอุปกรณ์และกิซโมฮาร์ดแวร์จำนวนหนึ่งที่สามารถซื้อได้ แต่ Pip ใช้แนวทางที่แตกต่างกับอุปกรณ์ของตน ความสะดวกในการพกพาของอุปกรณ์และหน้าจอสัมผัสทำให้ได้เปรียบกับอุปกรณ์เข้ารหัสอื่นๆ ที่มีจำหน่ายในท้องตลาด Pip จะเข้ากันได้อย่างสมบูรณ์กับส่วนประกอบอิเล็กทรอนิกส์นอกเหนือจากระบบ Raspberry Pi HAT อุปกรณ์ใช้ภาษามาตรฐานและมีเครื่องมือพื้นฐานและเป็นอุปกรณ์ที่สมบูรณ์แบบสำหรับผู้เริ่มต้นใช้งาน เป้าหมายคือการขจัดอุปสรรคระหว่างความคิดและการสร้างสรรค์ และทำให้เครื่องมือพร้อมใช้งานทันที ข้อดีอีกอย่างหนึ่งของ Pip คือมันใช้การ์ด SD ดังนั้นจึงสามารถใช้เป็นคอมพิวเตอร์เดสก์ท็อปได้เช่นกันเมื่อเชื่อมต่อกับจอภาพและเมาส์
อุปกรณ์ Pip จะช่วยให้เด็กๆ และผู้เริ่มต้นเขียนโค้ดที่สนใจด้วยความกระตือรือร้นในการเรียนรู้และฝึกเขียนโค้ด ด้วยการนำเสนอการผสมผสานระหว่างการทำงานที่เสร็จสิ้นและการแก้ไขปัญหาต่างๆ อุปกรณ์จะดึงดูดคนรุ่นใหม่ได้อย่างแน่นอน อุปกรณ์ดังกล่าวช่วยให้นักเขียนโค้ดรุ่นเยาว์เหล่านี้สามารถก้าวไปสู่การเขียนโค้ดขั้นสูงในภาษาต่างๆ เช่น JavaScript และ HTML / CSS เนื่องจากอุปกรณ์จำลองเกมคอนโซล อุปกรณ์จะดึงดูดความสนใจของเด็กในทันที และจะดึงดูดพวกเขาให้เรียนรู้เกี่ยวกับการเข้ารหัสตั้งแต่อายุยังน้อย นอกจากนี้ยังมาพร้อมกับเกมที่โหลดไว้ล่วงหน้าเพื่อดึงดูดความสนใจ เช่น Pac-Man และ Minecraft

นวัตกรรมที่จะมาถึง

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

เพื่อแบ่งผู้เข้าชมเว็บไซต์ออกเป็นกลุ่มๆ ต้องติดตั้งระบบขนาดเล็กบนไซต์ การลงทะเบียน php... ดังนั้น คุณแบ่งผู้เยี่ยมชมตามเงื่อนไขออกเป็นสองกลุ่มโดยสุ่มผู้เยี่ยมชมและเป็นกลุ่มผู้ใช้ที่มีสิทธิพิเศษมากขึ้นซึ่งคุณให้ข้อมูลที่มีค่ามากกว่า

ในกรณีส่วนใหญ่ จะใช้ระบบการลงทะเบียนที่เรียบง่ายกว่า ซึ่งเขียนด้วย php ในไฟล์เดียว register.php.

ดังนั้น เราพูดนอกเรื่องเล็กน้อย และตอนนี้เราจะพิจารณาไฟล์การลงทะเบียนอย่างละเอียดยิ่งขึ้น

Register.php ไฟล์

เพื่อไม่ให้ใช้เวลาของคุณมากนัก เราจะสร้างระบบที่จะรวบรวมผู้ใช้ โดยใช้ข้อมูลการติดต่อน้อยที่สุดจากพวกเขา ในกรณีนี้ เราจะใส่ทุกอย่างลงในฐานข้อมูล mysql สำหรับความเร็วสูงสุดของฐานข้อมูล เราจะสร้างตารางผู้ใช้ในรูปแบบ MyISAM และในการเข้ารหัส utf-8

บันทึก! สคริปต์ทั้งหมดต้องเขียนด้วยการเข้ารหัสเดียวกันเสมอ ไฟล์ไซต์ทั้งหมดและฐานข้อมูล MySql จะต้องอยู่ในการเข้ารหัสเดียวกัน การเข้ารหัสที่พบบ่อยที่สุดคือ UTF-8 และ Windows-1251

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

สคริปต์จะทำงานอย่างไร

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

นี่คือสคริปต์เอง ทุกอย่างถูกเขียนในไฟล์เดียว register.php:

! `; // เครื่องหมายคำถามสีแดง $ sha = $ sh. "scripts / pro /"; // เส้นทางไปยังโฟลเดอร์หลัก $ bg = `bgcolor =" # E1FFEB "`; // สีพื้นหลังของเส้น?> ตัวอย่างสคริปต์ register.php style.css "/>

ในกรณีนี้ สคริปต์หมายถึงตัวมันเอง และเป็นแบบฟอร์มและตัวประมวลผลของข้อมูลที่ป้อนลงในแบบฟอร์ม โปรดทราบว่าไฟล์ถูกบีบอัดในไฟล์ zip และมีไฟล์การกำหนดค่า config.php ดัมพ์ฐานข้อมูลผู้ใช้ ไฟล์ที่มีตัวช่วย functions.php ไฟล์ style.css และไฟล์ register.php นอกจากนี้ยังมีไฟล์หลายไฟล์ที่รับผิดชอบการทำงานและการสร้างสัญลักษณ์แคปต์ชา

Laravel ต้องการ Composer เพื่อจัดการการขึ้นต่อกันของโปรเจ็กต์ ดังนั้น ก่อนติดตั้ง Laravel ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Composer ไว้ในระบบของคุณแล้ว ในกรณีที่คุณได้ยินเกี่ยวกับ Composer เป็นครั้งแรก มันเป็นเครื่องมือจัดการการพึ่งพาสำหรับ php ที่คล้ายกับโหนด npm

ในการติดตั้ง Composer บนเครื่องของคุณ ให้ตรวจสอบโพสต์นี้:

การติดตั้ง Laravel บน Windows:

ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง laravel บนเครื่อง windows ไม่ว่าคุณจะมี xampp / wamp stack มันใช้ได้กับทั้งคู่ บน WAMP ตรวจสอบให้แน่ใจว่าได้ติดตั้ง laravel ในโฟลเดอร์ "www" และใน XAMPP ซึ่งแน่นอนว่าเป็น "htdocs"

ขั้นตอนที่ 1) เปิดโฟลเดอร์ "htdocs" บน XAMPP กดปุ่ม SHIFT ค้างไว้แล้วคลิกขวาที่โฟลเดอร์ แล้วเลือก "open command window here" หรือคุณสามารถเปิดหน้าต่างคำสั่งและเปลี่ยนไดเร็กทอรีเป็น "xampp / htdocs"

ขั้นตอนที่-2) ป้อนคำสั่งต่อไปนี้

นักแต่งเพลง create-project laravel / laravel my_laravel_site --prefer-dist

ที่นี่ "my_laravel_site" คือชื่อโฟลเดอร์ที่จะติดตั้งไฟล์ laravel เปลี่ยนสิ่งนี้เป็นความชอบของคุณ

ขั้นตอนที่ 3) ตอนนี้ได้เวลาอดทนรอเนื่องจากการติดตั้ง laravel จะใช้เวลาพอสมควร

ขั้นตอนที่ 4) เมื่อติดตั้งแล้ว ให้เปลี่ยนไดเร็กทอรีเป็น "my_laravel_site" (cd "my_laravel_site") บน command prompt และป้อนคำสั่งด้านล่าง

Php ช่างฝีมือเสิร์ฟ

ขั้นตอนที่ 5) สิ่งนี้จะแสดงข้อความว่า "เซิร์ฟเวอร์การพัฒนา Laravel เริ่มต้น:" พร้อมกับ URL

ขั้นตอนที่-6) คัดลอกและวาง URL บนเบราว์เซอร์ หากทุกอย่างเรียบร้อย คุณจะเห็นหน้าจอต้อนรับ laravel

STEP-7) เรียบร้อย! คุณติดตั้ง laravel บนเครื่อง windows สำเร็จและพร้อมใช้งาน

การตั้งค่ารหัสแอปพลิเคชัน:

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

ในกรณีที่ไม่ได้ตั้งค่า คุณต้องดำเนินการด้วยตนเอง อันดับแรก ตรวจสอบให้แน่ใจว่าได้เปลี่ยนชื่อไฟล์ " .env.example " เป็น " .env " ในรูทแอปพลิเคชันของคุณ จากนั้นเปิดพรอมต์คำสั่งแล้วเปลี่ยนเป็นโฟลเดอร์โปรเจ็กต์ laravel ตอนนี้เรียกใช้คำสั่งด้านล่างเพื่อสร้างคีย์

รหัสช่าง PHP: สร้าง

คัดลอกคีย์ที่สร้างนี้ไปยังตัวแปร APP_KEY ในไฟล์ ".env" บันทึกและคุณทำเสร็จแล้ว

การติดตั้งเวอร์ชัน Laravel เฉพาะ:

วิธีการที่ระบุข้างต้นจะทำให้ผู้แต่งดาวน์โหลดและติดตั้ง laravel เวอร์ชันล่าสุด หากคุณต้องการติดตั้ง laravel เวอร์ชันก่อนหน้าบนเครื่องของคุณ อย่าลืมใส่หมายเลขเวอร์ชันที่เกี่ยวข้องในคำสั่ง create-project

นักแต่งเพลง create-project laravel / laravel = 5.4 your-project-name --prefer-dist อ่านเพิ่มเติม:

ในทำนองเดียวกันคุณสามารถ ติดตั้ง laravel อย่างง่ายดายโดยใช้ตัวแต่งบน windows... ฉันหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์ กรุณาแบ่งปันในวงสังคมของคุณถ้าคุณชอบ

เว็บไซต์ส่วนใหญ่มีแบบฟอร์มการลงทะเบียนสำหรับผู้ใช้ของคุณในการลงทะเบียน ดังนั้นจึงอาจได้รับประโยชน์จากสิทธิพิเศษบางอย่างภายในไซต์ ในบทความนี้เราจะมาดูวิธีการสร้างแบบฟอร์มการลงทะเบียนใน PHP และ MySQL

เราจะใช้แท็กง่ายๆ และเราจะใช้แท็กตารางเพื่อออกแบบหน้าเว็บ Sign-Up.html เริ่มกันเลย:

รายการ 1: sign-up.html

ลงชื่อ

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



รูปที่ 1:

คำอธิบายของหน้าเว็บ sing-in.html:

ดังที่คุณเห็นในรูปที่ 1 มีแบบฟอร์มการลงทะเบียนและขอข้อมูลเล็กน้อยเกี่ยวกับผู้ใช้ เหล่านี้เป็นข้อมูลทั่วไปที่เว็บไซต์ใด ๆ ร้องขอจากผู้ใช้หรือผู้เยี่ยมชมเพื่อสร้างและ ID และรหัสผ่าน เราใช้แท็กตารางเพราะเพื่อแสดงช่องแบบฟอร์มบนหน้าเว็บในรูปแบบการจัดเรียงตามที่คุณเห็นในรูปที่ 1 มันดูง่ายมากเพราะเรายังไม่ได้ใช้ CSS Style ตอนนี้เรามาใช้สไตล์ CSS และเชื่อมโยง ไฟล์สไตล์ CSS พร้อมหน้าเว็บ sing-up.html

รายการ2: style.css

/ * ไฟล์ CSS สำหรับหน้าเว็บลงทะเบียน * / # body-color (background-color: # 6699CC;) # Sign-Up (background-image: url ("sign-up.png"); background-size: 500px 500px ; background-repeat: no-repeat; background-attachment: fixed; background-position: center; ระยะขอบบน: 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 สามตัว #button, # sing-up และ # body-color และเราใช้สไตล์ CSS ทั้งหมดกับพวกมัน และตอนนี้คุณสามารถเห็นรูปที่ 2 ว่ามันดูสวยงามและน่าดึงดูดเพียงใด คุณสามารถใช้สไตล์ CSS อื่นๆ ได้มากมาย เช่นเดียวกับสไตล์ CSS แบบ 2D และ 3D มันจะดูสวยงามกว่าที่เห็นในตอนนี้

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

รายชื่อ 3: ค้นหาตารางใน MySQL

CREATE TABLE ผู้ใช้เว็บไซต์ (userID int (9) NOT NULL auto_increment, ชื่อเต็ม VARCHAR (50) ไม่ใช่ NULL, ชื่อผู้ใช้ VARCHAR (40) ไม่ใช่ NULL, อีเมล VARCHAR (40) ไม่ใช่ NULL, ผ่าน VARCHAR (40) ไม่ใช่ NULL, คีย์หลัก (userID) );

คำอธิบายของรายการ 3:

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

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

หลังจากทำงานทั้งหมดนี้ เราจะทำงานกับการเขียนโปรแกรม PHP ซึ่งเป็นภาษาโปรแกรมฝั่งเซิร์ฟเวอร์ จึงต้องสร้างการเชื่อมต่อกับฐานข้อมูล

รายการ 4: การเชื่อมต่อฐานข้อมูล

คำอธิบายของรายการ 4:

เราสร้างการเชื่อมต่อระหว่างฐานข้อมูลและหน้าเว็บของเรา แต่ถ้าคุณไม่รู้ว่ามันใช้งานได้หรือไม่ ดังนั้นคุณใช้อะไรมากกว่านั้นในรายการตรวจสอบล่าสุด 5 สำหรับมัน

รายการ 5: การตรวจสอบการเชื่อมต่อของการเชื่อมต่อฐานข้อมูล

คำอธิบายรายการ 5:

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

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

รายการ 6: การเชื่อมต่อ-สมัครสมาชิก.php

คำอธิบายของconnection-sign-up.php

ในแอปพลิเคชัน PHP นี้ ฉันใช้วิธีที่ง่ายที่สุดในการสร้างแอปพลิเคชันลงทะเบียนสำหรับหน้าเว็บ อย่างที่คุณเห็นในตอนแรก เราสร้างการเชื่อมต่อเหมือนรายการ 4 จากนั้นเราใช้สองฟังก์ชัน ฟังก์ชันแรกคือ SignUP () ซึ่งถูกเรียกโดยคำสั่ง if จากแอปพลิเคชันตัวสุดท้าย โดยเป็นการยืนยันการกดสมัครเป็นอันดับแรก ปุ่ม. หากกดแล้วจะเรียกใช้ฟังก์ชัน SingUp และฟังก์ชันนี้จะใช้แบบสอบถาม SELECT เพื่อดึงข้อมูลและเปรียบเทียบกับชื่อผู้ใช้และอีเมลที่ป้อนจากผู้ใช้ในปัจจุบัน หากชื่อผู้ใช้และอีเมลมีอยู่ในฐานข้อมูลอยู่แล้ว ระบบจะบอกว่าขอโทษที่คุณลงทะเบียนแล้ว

หากผู้ใช้เป็นผู้ใช้ใหม่เนื่องจากชื่อผู้ใช้และ ID อีเมลปัจจุบันไม่มีอยู่ในฐานข้อมูล ดังนั้นคำสั่ง If จะเรียกผู้ใช้ใหม่ () ซึ่งจะเก็บข้อมูลทั้งหมดของผู้ใช้ใหม่ และผู้ใช้จะกลายเป็นส่วนหนึ่งของหน้าเว็บ



รูปที่ 3

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



รูปที่ 4:

เมื่อเราป้อนข้อมูลลงในแบบฟอร์มลงทะเบียน (ภาพที่ 4) ตามฐานข้อมูลที่ชื่อผู้ใช้และอีเมลที่เราป้อนลงในแบบฟอร์มลงทะเบียนเพื่อลงทะเบียนมีอยู่แล้วในฐานข้อมูล ดังนั้นเราควรลองใช้ชื่อผู้ใช้และที่อยู่อีเมลใหม่เพื่อลงทะเบียนด้วย ID และรหัสผ่านใหม่



รูปที่ 5

ในรูปที่ 5 เป็นการยืนยันว่าชื่อผู้ใช้และรหัสอีเมลใดที่ผู้ใช้ป้อน ทั้งสองไม่มีอยู่ในบันทึกฐานข้อมูล ดังนั้นตอนนี้ ID และรหัสผ่านใหม่ถูกสร้างขึ้นและผู้ใช้สามารถใช้ ID และรหัสผ่านใหม่ของเขาเพื่อเข้าสู่ระบบในครั้งต่อไป

บทสรุป:

ในบทความนี้ เราได้เรียนรู้วิธีที่ง่ายที่สุดในการสร้างหน้าเว็บสำหรับสมัครใช้งาน นอกจากนี้เรายังได้เรียนรู้ว่ามันเกี่ยวข้องกับฐานข้อมูลอย่างไรหากเราใช้ PHP และ MySQL ฉันพยายามให้ความรู้พื้นฐานเกี่ยวกับฟังก์ชันการสมัครใช้งานเว็บเพจแก่คุณ วิธีการทำงานที่ส่วนหลัง และวิธีที่เราจะเปลี่ยนรูปลักษณ์ของส่วนหน้า สำหรับข้อสงสัยใด ๆ อย่าลังเลที่จะแสดงความคิดเห็น

ในบทความนี้คุณจะได้เรียนรู้ วิธีการสร้างแบบฟอร์มการลงทะเบียนและการอนุญาตโดยใช้ HTML, JavaScript, PHP และ MySql แบบฟอร์มดังกล่าวถูกใช้ในเกือบทุกไซต์โดยไม่คำนึงถึงประเภท สร้างขึ้นทั้งสำหรับฟอรัมและสำหรับร้านค้าออนไลน์และสำหรับเครือข่ายสังคมออนไลน์ (เช่น Facebook, Twiter, Odnoklassniki) และสำหรับเว็บไซต์ประเภทอื่นๆ อีกมากมาย

หากคุณมีไซต์บนคอมพิวเตอร์ของคุณ ฉันหวังว่าคุณจะมี ติดตั้งและเรียกใช้เซิร์ฟเวอร์ภายในเครื่อง... ไม่มีอะไรจะทำงานได้หากไม่มีมัน

การสร้างตารางในฐานข้อมูล

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

ดังนั้นเราจึงมีฐานข้อมูล (ย่อมาจากฐานข้อมูล) ตอนนี้เราต้องสร้างตาราง ผู้ใช้ซึ่งเราจะเพิ่มผู้ใช้ที่ลงทะเบียนของเรา

ฉันยังอธิบายวิธีสร้างตารางในฐานข้อมูลในบทความด้วย ก่อนสร้างตาราง เราต้องกำหนดว่าจะมีฟิลด์ใดบ้าง ฟิลด์เหล่านี้จะสอดคล้องกับฟิลด์จากแบบฟอร์มการลงทะเบียน

ดังนั้นเราจึงคิดว่า จินตนาการว่าแบบฟอร์มของเราจะมีเขตข้อมูลใดและสร้างตาราง ผู้ใช้ด้วยฟิลด์เช่นนี้:

  • NS- ตัวระบุ สนาม NSทุกตารางจากฐานข้อมูลควรมี
  • ชื่อจริง- หากต้องการบันทึกชื่อ
  • นามสกุล- สำหรับบันทึกนามสกุล
  • อีเมล- เพื่อบันทึกที่อยู่ไปรษณีย์ เราจะใช้อีเมลในการเข้าสู่ระบบ ดังนั้นฟิลด์นี้จะต้องไม่ซ้ำกัน นั่นคือ ต้องมีดัชนี UNIQUE
  • email_status- ฟิลด์เพื่อระบุว่าเมลได้รับการยืนยันหรือไม่ หากอีเมลได้รับการยืนยัน เมลนั้นจะมีค่าเป็น 1 มิฉะนั้น จะเป็นค่า 0
  • รหัสผ่าน- เพื่อบันทึกรหัสผ่าน


หากคุณต้องการให้แบบฟอร์มลงทะเบียนของคุณมีช่องเพิ่มเติม คุณสามารถเพิ่มได้ที่นี่เช่นกัน

ทุกอย่าง โต๊ะของเรา ผู้ใช้พร้อม. ไปที่ขั้นตอนต่อไป

การเชื่อมต่อฐานข้อมูล

เราได้สร้างฐานข้อมูลแล้ว ตอนนี้เราต้องเชื่อมต่อ เราจะเชื่อมต่อโดยใช้ส่วนขยาย PHP MySQLi

ในโฟลเดอร์ของเว็บไซต์ของเรา ให้สร้างไฟล์ชื่อ dbconnect.phpและในนั้นเราเขียนสคริปต์ต่อไปนี้:

ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล... คำอธิบายข้อผิดพลาด: ".mysqli_connect_error ()"

"; exit ();) // ตั้งค่าการเข้ารหัสการเชื่อมต่อ $ mysqli-> set_charset (" utf8 "); // เพื่อความสะดวก เรามาเพิ่มตัวแปรที่นี่ซึ่งจะมีชื่อไซต์ของเรา $ address_site =" http: // testsite.local " ;?>

ไฟล์นี้ dbconnect.phpจะต้องเชื่อมต่อกับตัวจัดการแบบฟอร์ม

ให้ความสนใจกับตัวแปร $ address_siteฉันระบุชื่อไซต์ทดสอบของฉันที่จะใช้งานในที่นี้ คุณตามลำดับ ระบุชื่อไซต์ของคุณ

โครงสร้างเว็บไซต์

ทีนี้มาดูโครงสร้าง HTML ของเว็บไซต์ของเรากัน

เราจะย้ายส่วนหัวและส่วนท้ายของไซต์เป็นไฟล์แยกกัน header.phpและ footer.php... เราจะรวมไว้ในทุกหน้า กล่าวคือบนหลัก (ไฟล์ index.php) ไปที่หน้าแบบฟอร์มลงทะเบียน (file form_register.php) และไปยังหน้าที่มีแบบฟอร์มการให้สิทธิ์ (file form_auth.php).

บล็อกด้วยลิงก์ของเรา การลงทะเบียนและ การอนุญาตเพิ่มในส่วนหัวของไซต์เพื่อให้ปรากฏบนทุกหน้า หนึ่งลิงค์จะเข้าสู่ หน้าแบบฟอร์มลงทะเบียน(ไฟล์ form_register.php) และอีกอันไปยังเพจด้วย แบบฟอร์มใบอนุญาต(ไฟล์ form_auth.php).

เนื้อหาของไฟล์ header.php:

ชื่อเว็บไซต์ของเรา

เป็นผลให้หน้าหลักมีลักษณะดังนี้:


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

ตอนนี้เรามาดูแบบฟอร์มการลงทะเบียนกัน ตามที่ท่านเข้าใจแล้ว เรามีอยู่ในไฟล์ form_register.php.

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

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

ก่อนแสดงแบบฟอร์ม ให้เพิ่มบล็อกเพื่อแสดงข้อความแสดงข้อผิดพลาดจากเซสชัน

และอีกอย่างถ้าผู้ใช้ได้รับอนุญาตแล้วและเพื่อประโยชน์เขาเข้าสู่หน้าลงทะเบียนโดยตรงโดยเขียนไปยังแถบที่อยู่ของเบราว์เซอร์ site_address / form_register.phpในกรณีนี้ แทนที่จะแสดงแบบฟอร์มลงทะเบียน เราจะแสดงชื่อเรื่องที่ระบุว่าเขาได้ลงทะเบียนแล้ว

โดยทั่วไปแล้ว รหัสไฟล์ form_register.phpเราได้รับเช่นนี้:

คุณได้ลงทะเบียนแล้ว

ในเบราว์เซอร์ หน้าที่มีแบบฟอร์มลงทะเบียนจะมีลักษณะดังนี้:


โดยใช้ แอตทริบิวต์ที่จำเป็นเราได้ทำการกรอกข้อมูลที่จำเป็นทั้งหมดแล้ว

ให้ความสนใจกับรหัสแบบฟอร์มการลงทะเบียนที่ แคปช่าจะปรากฏขึ้น:


เราระบุเส้นทางไปยังไฟล์ในค่าของแอตทริบิวต์ src สำหรับรูปภาพ captcha.phpที่สร้างแคปช่านี้

มาดูรหัสไฟล์กัน captcha.php:

โค้ดมีการแสดงความคิดเห็นไว้อย่างดี ดังนั้นฉันจะเน้นที่จุดเดียว

ภายในฟังก์ชั่น รูปภาพTtfText (), มีการระบุเส้นทางไปยังแบบอักษร verdana.ttf... ดังนั้นเพื่อให้ captcha ทำงานได้อย่างถูกต้อง เราต้องสร้างโฟลเดอร์ แบบอักษรแล้ววางไฟล์ฟอนต์ไว้ตรงนั้น verdana.ttf... คุณสามารถค้นหาและดาวน์โหลดจากอินเทอร์เน็ตหรือนำมาจากไฟล์เก็บถาวรพร้อมเนื้อหาในบทความนี้

เสร็จแล้วกับโครงสร้าง HTML ได้เวลาไปต่อ

ตรวจสอบความถูกต้องของอีเมลด้วย jQuery

แบบฟอร์มใดๆ จำเป็นต้องตรวจสอบความถูกต้องของข้อมูลที่ป้อน ทั้งในฝั่งไคลเอ็นต์ (โดยใช้ JavaScript, jQuery) และทางฝั่งเซิร์ฟเวอร์

เราต้องให้ความสนใจเป็นพิเศษกับฟิลด์อีเมล เป็นสิ่งสำคัญมากที่ที่อยู่ไปรษณีย์ที่ป้อนนั้นถูกต้อง

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


และในกรณีนั้น เราจำเป็นต้องทำการตรวจสอบที่น่าเชื่อถือมากขึ้น สำหรับสิ่งนี้ เราจะใช้ไลบรารี jQuery จาก JavaScript

ในการเชื่อมต่อไลบรารี jQuery ในไฟล์ header.phpระหว่างแท็ก , ก่อนแท็กปิด , เพิ่มบรรทัดนี้:

ต่อจากบรรทัดนี้ ให้เพิ่มรหัสตรวจสอบยืนยันอีเมลทันที ที่นี่เราเพิ่มรหัสสำหรับตรวจสอบความยาวของรหัสผ่านที่ป้อน ความยาวต้องมีความยาวอย่างน้อย 6 ตัวอักษร

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

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

การลงทะเบียนผู้ใช้

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

เปิดไฟล์นี้ register.phpและสิ่งแรกที่เราต้องทำคือเขียนฟังก์ชันสำหรับเริ่มเซสชันและเชื่อมต่อไฟล์ที่เราสร้างไว้ก่อนหน้านี้ dbconnect.php(ในไฟล์นี้ เราได้ทำการเชื่อมต่อกับฐานข้อมูล) ถึงกระนั้นก็ประกาศเซลล์ทันที error_messagesและ ความสำเร็จ_ข้อความในอาร์เรย์ส่วนกลางของเซสชัน วี error_mesagesเราจะบันทึกข้อความแสดงข้อผิดพลาดทั้งหมดที่เกิดขึ้นระหว่างการประมวลผลแบบฟอร์มและใน succes_messages, เราจะบันทึกข้อความที่น่ายินดี

ก่อนดำเนินการต่อเราต้องตรวจสอบ เป็นแบบฟอร์มที่ส่งมาเลย... ผู้โจมตีสามารถดูค่าของแอตทริบิวต์ได้ การกระทำจากแบบฟอร์ม และค้นหาว่าไฟล์ใดกำลังประมวลผลแบบฟอร์มนี้ และเขาอาจเกิดความคิดที่จะไปที่ไฟล์นี้โดยตรงโดยพิมพ์ที่อยู่ต่อไปนี้ในแถบที่อยู่ของเบราว์เซอร์: http: //arees_site/register.php

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

หากผู้โจมตีพยายามนำทางไปยังไฟล์นี้โดยตรง เขาจะได้รับข้อความแสดงข้อผิดพลาด ฉันขอเตือนคุณว่าตัวแปร $ address_site มีชื่อของไซต์และมันถูกประกาศในไฟล์ dbconnect.php.

ข้อผิดพลาด!หน้าแรก

"); } ?>

ค่าของ captcha ในเซสชันถูกเพิ่มเข้าไปเมื่อมีการสร้างใน file captcha.php... เพื่อเป็นการเตือนความจำ ฉันจะแสดงโค้ดชิ้นนี้จากไฟล์ให้คุณดูอีกครั้ง captcha.phpโดยที่ค่า captcha ถูกเพิ่มไปยังเซสชัน:

ตอนนี้เรามาดำเนินการตรวจสอบกันต่อไป ในไฟล์ register.phpภายในบล็อก if ที่เราตรวจสอบว่ามีการคลิกปุ่ม "ลงทะเบียน" หรือไม่ ตรงจุดที่มีการระบุความคิดเห็น " // (1) วางโค้ดชิ้นต่อไป"พวกเราเขียน:

// ตรวจสอบผลลัพธ์ captcha // ตัดช่องว่างตั้งแต่เริ่มต้นและสิ้นสุดบรรทัด $ captcha = trim ($ _ POST ["captcha"]); if (isset ($ _ POST ["captcha"]) &&! empty ($ captcha)) (// เปรียบเทียบค่าที่ได้รับกับค่าจากเซสชัน if (($ _ SESSION ["rand"]! = $ captcha ) && ($ _SESSION ["rand"]! = "")) (// หาก captcha ไม่ถูกต้อง เราจะส่งคืนผู้ใช้ไปยังหน้าการลงทะเบียน จากนั้นเราจะแสดงข้อความแสดงข้อผิดพลาดว่าเขาป้อน captcha ผิด . $ error_message = "

ข้อผิดพลาด!คุณป้อน captcha ผิด

"; // บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION [" error_messages "] = $ error_message; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการลงทะเบียน (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: " . $ Address_site . "/ form_register.php"); // หยุดการออกสคริปต์ ();) // (2) วางโค้ดถัดไป) อื่น (// หากแคปต์ชาไม่ผ่านหรือเป็นทางออกที่ว่างเปล่า ( "

ข้อผิดพลาด!ไม่มีรหัสยืนยัน นั่นคือรหัสแคปต์ชา คุณสามารถไปที่หน้าแรก

"); }

ต่อไป เราต้องประมวลผลข้อมูลที่ได้รับจากอาร์เรย์ POST ก่อนอื่น เราต้องตรวจสอบเนื้อหาของอาร์เรย์ POST ทั่วโลก นั่นคือมีเซลล์ที่มีชื่อตรงกับชื่อของช่องป้อนข้อมูลจากแบบฟอร์มของเราหรือไม่

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

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

วางรหัสนี้ในตำแหน่งที่ระบุ " // (2) วางโค้ดชิ้นต่อไป".

/ * ตรวจสอบว่า global array $ _POST มีข้อมูลที่ส่งจากแบบฟอร์มและใส่ข้อมูลที่ส่งเป็นตัวแปรธรรมดาหรือไม่ * / If (isset ($ _ POST ["first_name"])) (// ตัดช่องว่างจากจุดเริ่มต้นและ จากท้ายสตริง $ first_name = trim ($ _ POST ["first_name"]); // ตรวจสอบตัวแปรสำหรับความว่างเปล่า if (! 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);) else (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _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 (! ว่างเปล่า ($ รหัสผ่าน) )) ($ รหัสผ่าน = htmlspecialchars ($ รหัสผ่าน ENT_QUOTES); // เข้ารหัส paprol $ รหัสผ่าน = md5 ($ รหัสผ่าน "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 ("SELECT` email` FROM `users' WHERE` email` = "". $ Email. "" "); // หากจำนวนแถวที่ได้รับเป็นหนึ่งเดียว ดังนั้นผู้ใช้ที่มีที่อยู่อีเมลนี้จึงลงทะเบียนแล้ว if ($ result_query-> num_rows == 1) (// หากผลลัพธ์ไม่เป็นเท็จ if (($ 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-> ปิด ();

เสร็จสิ้นการตรวจสอบทั้งหมด ได้เวลาเพิ่มผู้ใช้ลงในฐานข้อมูล ในสถานที่ที่กำหนด " // (4) วางโค้ดสำหรับเพิ่มผู้ใช้ในฐานข้อมูล"เพิ่มรหัสต่อไปนี้:

// ขอเพิ่มผู้ใช้ในฐานข้อมูล $ result_query_insert = $ mysqli-> query ("INSERT INTO` users` (first_name, last_name, email, password) VALUES ("". $ First_name. "", "". $ Last_name . " "," ". $ email." "," ". $ password." ")"); 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คุณไม่จำเป็นต้องเริ่มเซสชัน เนื่องจากเราจะได้รับข้อผิดพลาด


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

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

การให้สิทธิ์ผู้ใช้

เพื่อแอตทริบิวต์ค่า การกระทำผู้พิการมีไฟล์ auth.phpซึ่งหมายความว่าแบบฟอร์มจะได้รับการประมวลผลในไฟล์นี้

ดังนั้น เปิดไฟล์ auth.phpและเขียนรหัสเพื่อดำเนินการตามแบบฟอร์มการให้สิทธิ์ สิ่งแรกที่ต้องทำคือเริ่มเซสชันและเชื่อมต่อไฟล์ dbconnect.phpเพื่อเชื่อมต่อกับฐานข้อมูล

// ประกาศเซลล์เพื่อเพิ่มข้อผิดพลาดที่อาจเกิดขึ้นขณะประมวลผลแบบฟอร์ม $ _SESSION ["error_messages"] = ""; // ประกาศเซลล์สำหรับการเพิ่มข้อความที่สำเร็จ $ _SESSION ["success_messages"] = "";

/ * ตรวจสอบว่าได้ส่งแบบฟอร์มหรือไม่ นั่นคือ คลิกปุ่มเข้าสู่ระบบหรือไม่ ถ้าใช่ ก็ดำเนินการต่อ ถ้าไม่ ให้แสดงข้อความแสดงข้อผิดพลาดแก่ผู้ใช้โดยระบุว่าเขาไปที่หน้านี้โดยตรง * / if (isset ($ _ POST ["btn_submit_auth"]) &&! empty ($ _ POST ["btn_submit_auth"])) (// (1) ช่องว่างสำหรับโค้ดถัดไป) else (ทางออก ("

ข้อผิดพลาด!คุณได้เข้าสู่หน้านี้โดยตรง ดังนั้นจึงไม่มีข้อมูลให้ดำเนินการ คุณสามารถไปที่หน้าแรก

"); }

// ตรวจสอบผลลัพธ์ captcha if (isset ($ _ POST ["captcha"])) (// ตัดช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของบรรทัด $ captcha = trim ($ _ POST ["captcha"]); ถ้า (! Empty ($ captcha )) (// เปรียบเทียบค่าที่ได้รับกับค่าจากเซสชัน ถ้า (($ _ SESSION ["rand"]! = $ Captcha) && ($ _SESSION ["rand"]! = " ")) (// หาก captcha ไม่ถูกต้อง เราจะส่งคืนผู้ใช้ไปยังหน้าการให้สิทธิ์ จากนั้นเราจะแสดงข้อความแสดงข้อผิดพลาดว่าเขาป้อน captcha ผิด $ error_message = "

ข้อผิดพลาด!คุณป้อน captcha ผิด

"; // บันทึกข้อความแสดงข้อผิดพลาดในเซสชัน $ _SESSION [" error_messages "] = $ error_message; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการอนุญาต (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: " . $ Address_site . "/ form_auth.php"); // หยุดการออกจากสคริปต์ ();)) else ($ error_message = "

ข้อผิดพลาด!ช่องสำหรับป้อน captcha ต้องไม่เว้นว่าง

"; // บันทึกข้อความแสดงข้อผิดพลาดในเซสชัน $ _SESSION [" error_messages "] = $ error_message; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการอนุญาต (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: " . $ Address_site . "/ form_auth.php"); // หยุดการออกจากสคริปต์ ();) // (2) ที่สำหรับประมวลผลที่อยู่อีเมล // (3) ที่สำหรับประมวลผลรหัสผ่าน // (4) ที่สำหรับ ทำการสอบถามไปยังฐานข้อมูล) อย่างอื่น (// ถ้าแคปต์ชาไม่ผ่าน exit ("

ข้อผิดพลาด!ไม่มีรหัสยืนยัน นั่นคือรหัสแคปต์ชา คุณสามารถไปที่หน้าแรก

"); }

หากผู้ใช้ป้อนรหัสยืนยันถูกต้อง ให้ดำเนินการต่อ มิฉะนั้นเราจะกลับไปที่หน้าการให้สิทธิ์

การตรวจสอบที่อยู่ไปรษณีย์

// ตัดช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของบรรทัด $ email = trim ($ _ POST ["email"]); if (isset ($ _ POST ["email"])) (if (! empty ($ email)) ($ email = htmlspecialchars ($ email, ENT_QUOTES); // ตรวจสอบรูปแบบของที่อยู่อีเมลที่ได้รับโดยใช้นิพจน์ทั่วไป $ reg_email = " /^**@(+(*+)*\.)++/i "; // หากรูปแบบของที่อยู่อีเมลที่ได้รับไม่ตรงกับนิพจน์ทั่วไป if (! preg_match ($ reg_email, $ อีเมล)) (// บันทึกลงในข้อความแสดงข้อผิดพลาดของเซสชัน $ _SESSION ["error_messages"] = "

คุณป้อนอีเมลไม่ถูกต้อง

"; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการให้สิทธิ์ (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); )) อื่น ๆ (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION ["error_messages"] = "

ช่องสำหรับป้อนที่อยู่ไปรษณีย์ (อีเมล) ไม่ควรเว้นว่างไว้

"; // ส่งผู้ใช้กลับไปที่ส่วนหัวของหน้าการลงทะเบียน (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_register.php "); // หยุดการออกสคริปต์ (); )) อื่น ๆ (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION ["error_messages"] = "

ฟิลด์อีเมลหายไป

"; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการให้สิทธิ์ (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); ) // (3) พื้นที่สำหรับประมวลผลรหัสผ่าน

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

ตรวจสอบรหัสผ่าน

ฟิลด์ถัดไปที่จะดำเนินการคือฟิลด์รหัสผ่าน ไปยังตำแหน่งที่กำหนด " // (3) ที่สำหรับประมวลผลรหัสผ่าน", พวกเราเขียน:

If (isset ($ _ POST ["password"])) (// ตัดช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง $ password = trim ($ _ POST ["password"]); if (! Empty ($ password) ) ($ password = htmlspecialchars ($ password, ENT_QUOTES); // Encrypt the password $ password = md5 ($ password. "top_secret");) else (// บันทึกข้อความแสดงข้อผิดพลาดในเซสชัน $ _SESSION ["error_messages" ]. = "

ใส่รหัสผ่านของคุณ

"; // ส่งผู้ใช้กลับไปที่ส่วนหัวของหน้าการลงทะเบียน (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); )) อื่น ๆ (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION ["error_messages"] = "

ไม่มีช่องให้กรอกรหัสผ่าน

"; // ส่งผู้ใช้กลับไปที่ส่วนหัวของหน้าการลงทะเบียน (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); )

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

ตอนนี้ คุณต้องทำการสอบถามฐานข้อมูลกับตัวอย่างของผู้ใช้ที่มีที่อยู่ทางไปรษณีย์เท่ากับที่อยู่ทางไปรษณีย์ที่ได้รับและรหัสผ่านเท่ากับรหัสผ่านที่ได้รับ

// สอบถามในฐานข้อมูลเกี่ยวกับการเลือกของผู้ใช้ $ result_query_select = $ mysqli-> query ("SELECT * FROM` users` WHERE email = "". $ email. "" AND password = "". $ password. "" "); if (! $ result_query_select) (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION ["error_messages"]. = "

ข้อผิดพลาดในการเรียกผู้ใช้จากฐานข้อมูล

"; // ส่งผู้ใช้กลับไปที่ส่วนหัวของหน้าการลงทะเบียน (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); ) อื่น ( // เราตรวจสอบว่าไม่มีผู้ใช้ที่มีข้อมูลดังกล่าวในฐานข้อมูล จากนั้นเราจะแสดงข้อความแสดงข้อผิดพลาด if ($ result_query_select-> num_rows == 1) (// หากข้อมูลที่ป้อนตรงกับข้อมูลจากฐานข้อมูล จากนั้นเราจะบันทึกการเข้าสู่ระบบและรหัสผ่านไปยังอาร์เรย์ของเซสชัน $ _SESSION ["email"] = $ email; $ _SESSION ["password"] = $ password; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าหลัก ("HTTP / 1.1 301 ย้ายอย่างถาวร"); ส่วนหัว ("ตำแหน่ง:". $ Address_site . "/ index.php");) อื่น ๆ (// บันทึกข้อความแสดงข้อผิดพลาดไปยังเซสชัน $ _SESSION ["error_messages"]. = "

ชื่อผู้ใช้และ / หรือรหัสผ่านไม่ถูกต้อง

"; // ส่งคืนผู้ใช้ไปยังส่วนหัวของหน้าการให้สิทธิ์ (" HTTP / 1.1 301 ย้ายอย่างถาวร "); ส่วนหัว (" ตำแหน่ง: ". $ Address_site" / Form_auth.php "); // หยุดการออกสคริปต์ (); ))

ออกจากระบบเว็บไซต์

และสิ่งสุดท้ายที่เราทำคือ ขั้นตอนการออกจากไซต์... ในขณะนี้ ส่วนหัวจะแสดงลิงก์ไปยังหน้าการอนุญาตและไปยังหน้าการลงทะเบียน

ในส่วนหัวของไซต์ (file header.php) โดยใช้เซสชัน เราจะตรวจสอบว่าผู้ใช้ลงชื่อเข้าใช้แล้วหรือไม่ หากไม่เป็นเช่นนั้น เราจะแสดงลิงก์การลงทะเบียนและการอนุญาต มิฉะนั้น (หากได้รับอนุญาต) จากนั้นเราจะแสดงลิงก์แทนการลงทะเบียนและการอนุญาต เอาท์พุต.

แก้ไขโค้ดบางส่วนจาก file header.php:

การลงทะเบียน

เอาท์พุต

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

รหัสไฟล์ ออกจากระบบ.php:

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

เรายังได้เรียนรู้วิธีตรวจสอบความถูกต้องของข้อมูลที่ป้อน ทั้งในฝั่งไคลเอ็นต์ (ในเบราว์เซอร์ โดยใช้ JavaScript, jQuery) และทางฝั่งเซิร์ฟเวอร์ (โดยใช้ภาษา PHP) เราก็ได้เรียนรู้ ดำเนินการขั้นตอนการออกจากไซต์.

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

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

หากคุณมีคำถามใด ๆ โปรดติดต่อและหากคุณพบข้อผิดพลาดใด ๆ ในบทความ โปรดแจ้งให้เราทราบ

แผนการสอน (ตอนที่ 5):

  1. สร้างโครงสร้าง HTML สำหรับแบบฟอร์มการเข้าสู่ระบบ
  2. เราประมวลผลข้อมูลที่ได้รับ
  3. เราแสดงคำทักทายของผู้ใช้ในส่วนหัวของไซต์

คุณชอบบทความนี้หรือไม่?



© 2021 skypenguin.ru - เคล็ดลับในการดูแลสัตว์เลี้ยง