Man regcomp(3): ฟังก์ชันนิพจน์ทั่วไป POSIX ดาวน์โหลด Reg Organizer - การทำความสะอาดและการเพิ่มประสิทธิภาพระบบ การรายงานข้อผิดพลาด POSIX
สวัสดีทุกคน วันนี้ผมจะมาเล่าถึงโปรแกรม เร็ก ออแกไนเซอร์- เป็นโปรแกรมที่มีฟังก์ชั่นมากมายเพื่อรองรับระบบปฏิบัติการ Windows อย่างเต็มรูปแบบ Reg Organizer เหมาะสำหรับ Windows XP, Vista, 7, 8.1 และ 10 เมื่อใช้โปรแกรมนี้ คุณสามารถเพิ่มความเร็วและเพิ่มประสิทธิภาพระบบปฏิบัติการบนคอมพิวเตอร์ของคุณ และเพิ่มพื้นที่ว่างในทรัพยากรเพิ่มเติม
Reg Organizer ช่วยให้คุณสามารถลบโปรแกรมออกจากระบบได้อย่างสมบูรณ์ รวมถึงล้างขยะทั้งหมดที่เหลืออยู่เมื่อถอนการติดตั้งผ่านแผงควบคุม ตัวจัดการการเริ่มต้นที่ไม่ซ้ำใครจะช่วยเร่งประสิทธิภาพของระบบให้มากที่สุด ฟังก์ชั่นการทำความสะอาดดิสก์ในตัวจะช่วยเพิ่มพื้นที่ว่างบนดิสก์ของคอมพิวเตอร์ของคุณมากยิ่งขึ้น Reg Organizer ช่วยให้ทำความสะอาดรีจิสทรีและเพิ่มประสิทธิภาพได้ง่าย และนั่นไม่ใช่ความสามารถของโปรแกรมทั้งหมด
Reg Organizer ทำอะไรได้บ้าง?
- Reg Organizer จะช่วยคุณถอนการติดตั้งโปรแกรมอย่างสมบูรณ์และลบส่วนที่เหลือ ป้องกันไม่ให้รีจิสทรีและดิสก์คอมพิวเตอร์เกะกะ
- การล้างข้อมูลการเริ่มต้น (การทำงานอัตโนมัติ) จะช่วยลบแอปพลิเคชันที่ขึ้นต้นด้วย Windows ช่วยให้สามารถโหลดห้องผ่าตัดได้เร็วขึ้น ระบบวินโดวส์และยังทำให้ทรัพยากรบางส่วนของคอมพิวเตอร์ของคุณว่างอีกด้วย นอกจากนี้ ในส่วนเริ่มต้น คุณยังสามารถลบงานที่กำหนดเวลาไว้ได้
- ทำความสะอาดดิสก์ใน โหมดอัตโนมัติจะช่วยเพิ่มพื้นที่ว่างจำนวนมาก ดิสก์ระบบ- คุณสามารถลบทุกสิ่งที่ Windows ไม่ได้ทำความสะอาดตัวเองออกได้
- การใช้การตั้งค่าแบบละเอียดใน Reg Organizer คุณสามารถปรับแต่งการทำงานของ Windows OS ให้เหมาะกับความต้องการของคุณได้
- การทำความสะอาดรีจิสทรี - Reg Organizer จะค้นหาและกำจัดรายการที่ไม่จำเป็นและผิดพลาดทั้งหมดในระบบโดยอัตโนมัติ รีจิสทรีของ Windowsซึ่งอาจส่งผลต่อความมั่นคงในการทำงาน
- Reg Organizer ช่วยให้คุณสามารถเพิ่มประสิทธิภาพรีจิสทรี บีบอัดไฟล์รีจิสทรี และสามารถจัดเรียงข้อมูลได้
- ตัวแก้ไขรีจิสทรีที่สะดวกใน Reg Organizer จะช่วยคุณดำเนินการต่างๆ กับรีจิสทรีของระบบ รวมถึงการส่งออก นำเข้า คัดลอกค่าคีย์ และอื่นๆ อีกมากมาย
- ค้นหาและเปลี่ยนคีย์ในรีจิสทรีได้ง่าย - ช่วยให้คุณค้นหาคีย์ที่จำเป็นและลบออกหากจำเป็น ในกรณีที่แอปพลิเคชันไม่มีโปรแกรมถอนการติดตั้งหรือหลังจากถอนการติดตั้งแอปพลิเคชันด้วยตนเอง รายการจะยังคงอยู่ในรีจิสทรีซึ่งอาจทำให้เกิดความขัดแย้งในรีจิสทรี ในกรณีนี้ ฟังก์ชันการค้นหาและแทนที่คีย์รีจิสทรีจะมีประโยชน์ Reg Organizer ทำการค้นหาแบบลึกและมักจะช่วยให้คุณค้นหาได้แม้กระทั่งโปรแกรมอื่น ๆ ที่ไม่สามารถค้นหาได้
- Reg Organizer สามารถตรวจสอบทุกสิ่งที่โปรแกรมทำระหว่างการติดตั้ง และหากเกิดปัญหาใด ๆ เกิดขึ้น คุณสามารถยกเลิกทุกสิ่งที่โปรแกรมพยายามทำระหว่างการติดตั้งได้
- โปรแกรมสามารถค้นหาร่องรอยที่เหลือจากเดิมได้แล้ว โปรแกรมระยะไกล- หากคุณถอนการติดตั้งโปรแกรมไม่ถูกต้อง Reg Organizer จะช่วยล้างร่องรอยของโปรแกรมที่ถูกลบ
คุณสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับคุณสมบัติทั้งหมดของ Reg Organizer ได้ในวิดีโอของฉัน:
คุณสามารถดาวน์โหลด Reg Organizer ได้จากเว็บไซต์อย่างเป็นทางการโดยใช้ปุ่มดาวน์โหลดใดก็ได้
#รวม
#รวม
int regcomp (regex_t *ก่อนกำหนด, const ถ่าน *นิพจน์ทั่วไป,นานาชาติแฟล็ก);
int regexec(const regex_t *ก่อนกำหนด, const ถ่าน *เชือก, ขนาด_tไม่ตรงกัน,
regmatch_tจับคู่,นานาชาติธง);
ข้อผิดพลาด size_t (intรหัสผิดพลาด, const regex_t *ก่อนกำหนด, ถ่าน *ผิดพลาด,
ขนาด_terrbuf_size);
โมฆะ regfree (regex_t *ก่อนกำหนด);
คำอธิบาย
รวบรวมนิพจน์ทั่วไป POSIX
การทำงาน regcomp() ใช้เพื่อรวบรวมนิพจน์ทั่วไปให้อยู่ในรูปแบบที่เหมาะสมสำหรับการค้นหาครั้งต่อไปโดยใช้ regexec().regcomp() ตัวชี้ไปยังพื้นที่จัดเก็บเทมเพลตบัฟเฟอร์ถูกส่งผ่าน ก่อนกำหนดชี้ไปที่สตริงที่สิ้นสุดด้วยค่า null นิพจน์ทั่วไปและธง แฟล็กใช้เพื่อกำหนดประเภทการคอมไพล์
การค้นหาทั้งหมด การแสดงออกปกติจะต้องดำเนินการโดยใช้เทมเพลตบัฟเฟอร์ที่คอมไพล์แล้ว regexec() จะต้องถูกเรียกด้วยที่อยู่ของเทมเพลตบัฟเฟอร์ที่เริ่มต้นโดยฟังก์ชันเสมอ regcomp().
ความหมาย แฟล็กอาจประกอบด้วยระดับบิต หรือค่าต่อไปนี้เป็นศูนย์หรือมากกว่า:
REG_EXTENDEDใช้ไวยากรณ์นิพจน์ทั่วไปแบบขยาย POSIX ในระหว่างการตีความ นิพจน์ทั่วไป- หากไม่ได้เปิดใช้งานแฟล็กนี้ ระบบจะใช้ไวยากรณ์นิพจน์ทั่วไปแบบง่าย POSIX REG_ICASEละเว้นกรณี การค้นหาครั้งต่อไป regexec() การใช้รูปแบบบัฟเฟอร์นี้จะไม่คำนึงถึงขนาดตัวพิมพ์ REG_NOSUBไม่รายงานตำแหน่งการแข่งขัน ตัวเลือก ไม่ตรงกันและ จับคู่สำหรับ regexec() จะถูกละเว้นหากเทมเพลตบัฟเฟอร์ที่กำหนดถูกคอมไพล์โดยเปิดใช้งานแฟล็กนี้ REG_NEWLINEโอเปอเรเตอร์ที่ตรงกันกับอักขระใดๆ จะไม่ตรงกับอักขระขึ้นบรรทัดใหม่รายการอักขระที่ไม่ตรงกัน ( [^...] ) ที่ไม่มีอักขระขึ้นบรรทัดใหม่จะไม่เหมือนกับการขึ้นบรรทัดใหม่
ตัวดำเนินการเปรียบเทียบตามจุดเริ่มต้นของสตริง ( ^ ) เกิดขึ้นพร้อมกับ บรรทัดว่างทันทีหลังจากขึ้นบรรทัดใหม่ไม่ว่าอย่างไรก็ตาม ธง, ธงการดำเนินการ regexec(), บรรจุ REG_NOTBOL.
ตัวดำเนินการเปรียบเทียบที่สิ้นสุดบรรทัด ($) จะจับคู่สตริงว่างจนถึงอักขระเริ่มต้นบรรทัด ไม่ว่าจะเกิดอะไรขึ้นก็ตาม ธงประกอบด้วย REG_NOTEOL.
เปรียบเทียบกับนิพจน์ทั่วไป POSIX
การทำงาน regexec() ใช้เพื่อเปรียบเทียบสตริงที่สิ้นสุดด้วยค่า null กับรูปแบบบัฟเฟอร์ที่ประมวลผลล่วงหน้า ก่อนกำหนด- ข้อโต้แย้ง ไม่ตรงกันและ จับคู่ใช้ในการให้ข้อมูลเกี่ยวกับตำแหน่งของการแข่งขันใดๆ ความหมาย ธงสามารถเป็นบิตได้ หรือค่าหนึ่งหรือทั้งสองค่า REG_NOTBOLและ REG_NOTEOL- ค่าเหล่านี้จะกำหนดพฤติกรรมของกระบวนการเปรียบเทียบตามที่อธิบายไว้ด้านล่าง REG_NOTBOLตัวดำเนินการเปรียบเทียบที่จุดเริ่มต้นของสตริงจะล้มเหลวเสมอ (แต่โปรดดูแฟล็กการคอมไพล์ที่อธิบายไว้ข้างต้น REG_NEWLINE- ธงนี้สามารถใช้ได้เมื่อ regexec() แยกส่วนของสตริงถูกส่ง และจุดเริ่มต้นของสตริงในกรณีนี้ไม่ควรตีความว่าเป็นจุดเริ่มต้นของบรรทัดใหม่ REG_NOTEOLตัวดำเนินการเปรียบเทียบจุดสิ้นสุดบรรทัดจะล้มเหลวเสมอ (แต่โปรดดูแฟล็กการคอมไพล์ที่อธิบายไว้ข้างต้น REG_NEWLINE).ไบต์ออฟเซ็ต
ถ้า REG_NOSUBไม่ได้ตั้งค่าเมื่อรวบรวมเทมเพลตบัฟเฟอร์ สามารถรับข้อมูลเกี่ยวกับตำแหน่งของการจับคู่ได้ ความหมาย จับคู่จะต้องกำหนดให้มีอย่างน้อยที่สุด ไม่ตรงกันองค์ประกอบ พวกเขากำลังเติมเต็ม regexec() ที่อยู่ของการแข่งขันแบบอินไลน์ ออฟเซ็ตของนิพจน์ย่อยที่เริ่มต้นด้วย ฉัน- วงเล็บเปิดเก็บไว้ใน แมตช์[i]- ที่อยู่การจับคู่ของนิพจน์ทั่วไปทั้งหมดจะถูกเก็บไว้ใน จับคู่(โปรดทราบว่าหากต้องการคืนค่าชดเชยการจับคู่ เอ็นการแสดงออกย่อยความหมาย ไม่ตรงกันจะต้องไม่น้อย ยังไม่มี+1- องค์ประกอบโครงสร้างที่ไม่ได้ใช้จะมีค่าเป็น -1โครงสร้าง regmatch_tซึ่งเป็นประเภท จับคู่กำหนดไว้ใน
โครงสร้าง Typedef ( regoff_t rm_so; regoff_t rm_eo; ) regmatch_t;
แต่ละองค์ประกอบ rm_soซึ่งไม่เท่ากับ -1 บ่งชี้ถึงออฟเซ็ตเริ่มต้นของการจับคู่ถัดไปของสตริงย่อยที่ใหญ่ที่สุดภายในสตริงที่กำหนด องค์ประกอบสัมพัทธ์ rm_eoระบุออฟเซ็ตของการสิ้นสุดการจับคู่ ซึ่งเป็นอักขระตัวแรกหลังข้อความที่ตรงกัน
การรายงานข้อผิดพลาด POSIX
การทำงาน ข้อผิดพลาดอีกครั้งใช้ในการแปลงรหัสข้อผิดพลาดที่อาจได้รับจาก regcomp() และ regexec() ลงในบรรทัดข้อความแสดงข้อผิดพลาดใน ข้อผิดพลาดอีกครั้งส่งแล้ว: รหัสข้อผิดพลาด รหัสผิดพลาด, รูปแบบบัฟเฟอร์ ก่อนกำหนดตัวชี้ไปยังบัฟเฟอร์สตริงอักขระ ผิดพลาดและขนาดบัฟเฟอร์แถว errbuf_size- ฟังก์ชันส่งคืนขนาด ผิดพลาดซึ่งจำเป็นต้องจัดเก็บข้อความแสดงข้อผิดพลาดเป็นสตริงที่สิ้นสุดด้วยค่า null ถ้าและ ผิดพลาด, และ errbuf_sizeไม่เท่ากับศูนย์แล้ว ผิดพลาดเติมก่อน errbuf_size - 1อักขระข้อความแสดงข้อผิดพลาดและลงท้ายด้วยไบต์ว่าง ("\0")
การเพิ่มบัฟเฟอร์เทมเพลต POSIX
การทำงาน ลงทะเบียนฟรี() เพิ่มหน่วยความจำที่จัดสรรให้กับเทมเพลตบัฟเฟอร์ ก่อนกำหนดระหว่างขั้นตอนการคอมไพล์โดยใช้ regcomp().มูลค่าการส่งคืน
การทำงาน regcomp() คืนค่าศูนย์เมื่อคอมไพล์สำเร็จหรือรหัสข้อผิดพลาดการทำงาน regexec() ส่งคืนค่าศูนย์ในการแข่งขันหรือ REG_NOMATCHหากไม่มีการแข่งขัน
ข้อผิดพลาด
การทำงาน regcomp() อาจส่งคืนข้อผิดพลาดต่อไปนี้: REG_BADBRการใช้ตัวดำเนินการลิงก์ย้อนกลับไม่ถูกต้อง REG_BADPATการใช้ตัวดำเนินการเทมเพลตไม่ถูกต้อง เช่น ตัวดำเนินการกลุ่มหรือรายการ REG_BADRPTการใช้ตัวดำเนินการซ้ำไม่ถูกต้อง เช่น การใช้ "*" เป็นอักขระตัวแรก REG_EBRACEวงเล็บที่ไม่ได้จับคู่ในตัวดำเนินการช่วงเวลา REG_EBRACKเลิกจับคู่ วงเล็บเหลี่ยมในคำสั่งรายการ REG_ECOLLATEองค์ประกอบการเรียงลำดับไม่ถูกต้อง REG_ECTYPEชื่อคลาสตัวละครที่ไม่รู้จัก REG_EENDข้อผิดพลาดที่อาจเกิดขึ้น ไม่ได้กำหนดไว้ใน POSIX.2 REG_EESCAPEแบ็กสแลชต่อท้าย REG_EPARENวงเล็บที่ไม่ได้จับคู่ในตัวดำเนินการจัดกลุ่ม REG_ERANGEการใช้ตัวดำเนินการพื้นที่ไม่ถูกต้อง: ตัวอย่างเช่น จุดสิ้นสุดของพื้นที่ปรากฏขึ้นก่อนจุดเริ่มต้น REG_ESIZEนิพจน์ทั่วไปที่คอมไพล์แล้วต้องมีรูปแบบบัฟเฟอร์ที่มีขนาดใหญ่กว่า 64 KB สิ่งนี้ไม่ได้กำหนดไว้ใน POSIX.2 REG_ESPACEรูทีนนิพจน์ทั่วไปมีหน่วยความจำไม่เพียงพอ REG_ESUBREGการอ้างอิงย้อนกลับไปยังนิพจน์ย่อยไม่ถูกต้องสวัสดี! ตอนนี้เราจะพยายามใช้การลงทะเบียนที่ง่ายที่สุดบนเว็บไซต์ด้วย โดยใช้ PHP+ มายเอสคิวแอล ในการดำเนินการนี้ จะต้องติดตั้ง Apache บนคอมพิวเตอร์ของคุณ หลักการทำงานของสคริปต์ของเราแสดงอยู่ด้านล่าง
1. เริ่มต้นด้วยการสร้างตารางผู้ใช้ในฐานข้อมูล- มันจะมีข้อมูลผู้ใช้ (เข้าสู่ระบบและรหัสผ่าน) ไปที่ phpmyadmin กัน (หากคุณกำลังสร้างฐานข้อมูลบนพีซีของคุณ) http://localhost/phpmyadmin/- สร้างตาราง ผู้ใช้มันจะมี 3 ช่อง
ฉันสร้างมันขึ้นมาใน ฐานข้อมูล mysqlคุณสามารถสร้างในฐานข้อมูลอื่นได้ จากนั้นตั้งค่าตามในรูป:
2. จำเป็นต้องมีการเชื่อมต่อกับตารางนี้มาสร้างไฟล์ bd.php- เนื้อหา:
$db = mysql_connect("เซิร์ฟเวอร์ MySQL ของคุณ", "เข้าสู่ระบบสำหรับเซิร์ฟเวอร์นี้", "รหัสผ่านสำหรับเซิร์ฟเวอร์นี้");
mysql_select_db ("ชื่อฐานข้อมูลที่เรากำลังเชื่อมต่อ", $db);
?>
ในกรณีของฉันดูเหมือนว่านี้:
$db = mysql_connect("localhost", "ผู้ใช้", "1234");
mysql_select_db("mysql",$db);
?>
บันทึก bd.php.
ยอดเยี่ยม! เรามีตารางในฐานข้อมูลและการเชื่อมต่อกับมัน ตอนนี้คุณสามารถเริ่มสร้างเพจที่ผู้ใช้จะทิ้งข้อมูลไว้
3. สร้างไฟล์ reg.php พร้อมเนื้อหา (ความคิดเห็นทั้งหมดภายใน):
การลงทะเบียน
4. สร้างไฟล์ซึ่งจะป้อนข้อมูลลงในฐานข้อมูลและบันทึกผู้ใช้ save_user.php(ความคิดเห็นภายใน):
{
}
//หากมีการเข้าสู่ระบบและรหัสผ่าน เราจะประมวลผลเพื่อให้แท็กและสคริปต์ไม่ทำงาน คุณไม่มีทางรู้ว่าคนอื่นจะป้อนข้อมูลอะไร
//ลบช่องว่างเพิ่มเติม
$login = ตัด($login);
$password = ตัด($password);
//เชื่อมต่อกับฐานข้อมูล
// ตรวจสอบการมีอยู่ของผู้ใช้ที่มีการเข้าสู่ระบบเดียวกัน
$result = mysql_query("เลือก id จากผู้ใช้ WHERE login="$login"",$db);
ถ้า (!empty($myrow["id"])) (
exit("ขออภัย ข้อมูลเข้าสู่ระบบที่คุณป้อนมีการลงทะเบียนแล้ว กรุณาป้อนข้อมูลเข้าสู่ระบบอื่น");
}
// หากไม่มีสิ่งนั้นให้บันทึกข้อมูล
$result2 = mysql_query("INSERT INTO users (login,password) VALUES("$login","$password")");
//ตรวจสอบว่ามีข้อผิดพลาดหรือไม่
ถ้า ($result2=="TRUE")
{
echo "คุณลงทะเบียนสำเร็จแล้ว! ตอนนี้คุณสามารถเข้าสู่เว็บไซต์ หน้าแรก";
}
อื่น(
echo "เกิดข้อผิดพลาด! คุณยังไม่ได้ลงทะเบียน";
}
?>
5. ตอนนี้ผู้ใช้สามารถลงทะเบียนได้แล้ว!ถัดไป คุณจะต้องสร้าง "ประตู" สำหรับผู้ใช้ที่ลงทะเบียนแล้วเพื่อเข้าสู่ไซต์ ดัชนี.php(ความคิดเห็นภายใน): :
// ขั้นตอนทั้งหมดทำงานในเซสชัน เป็นที่เก็บข้อมูลของผู้ใช้ในขณะที่เขาอยู่ในไซต์ มันสำคัญมากที่จะเปิดตัวตั้งแต่ต้นหน้า!!!
session_start();
?>
หน้าแรก
// ตรวจสอบว่าตัวแปรล็อกอินและรหัสผู้ใช้ว่างเปล่าหรือไม่
ถ้า (ว่างเปล่า($_SESSION["เข้าสู่ระบบ"]) หรือว่างเปล่า($_SESSION["id"]))
{
// ถ้าว่างแล้วเราจะไม่แสดงลิงค์
echo "คุณเข้าสู่ระบบในฐานะแขก
ลิงค์นี้ใช้ได้เฉพาะผู้ใช้ที่ลงทะเบียนเท่านั้น";
}
อื่น
{
ในไฟล์ ดัชนี.phpเราจะแสดงลิงค์ที่จะเปิดเฉพาะผู้ใช้ที่ลงทะเบียนเท่านั้น นี่คือจุดรวมของสคริปต์ - เพื่อจำกัดการเข้าถึงข้อมูลใดๆ
6. มีไฟล์เหลือพร้อมการยืนยันการเข้าสู่ระบบและรหัสผ่านที่ป้อน testreg.php (ความคิดเห็นภายใน):
session_start();// ขั้นตอนทั้งหมดทำงานในเซสชัน เป็นที่เก็บข้อมูลของผู้ใช้ในขณะที่เขาอยู่ในไซต์ มันสำคัญมากที่จะเปิดตัวตั้งแต่ต้นหน้า!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //ป้อนข้อมูลเข้าสู่ระบบที่ป้อนโดย ผู้ใช้เข้าสู่ตัวแปร $login หากว่างเปล่าให้ทำลายตัวแปร
if (isset($_POST["password"])) ( $password=$_POST["password"]; if ($password =="") ( unset($password);) )
//ใส่รหัสผ่านที่ผู้ใช้ป้อนลงในตัวแปร $password หากว่างเปล่าให้ทำลายตัวแปร
if (empty($login) or Empty($password)) //หากผู้ใช้ไม่ได้เข้าสู่ระบบหรือรหัสผ่าน เราจะแสดงข้อผิดพลาดและหยุดสคริปต์
{
exit("คุณไม่ได้กรอกข้อมูลทั้งหมด กลับไปกรอกข้อมูลให้ครบทุกช่อง!");
}
//หากมีการเข้าสู่ระบบและรหัสผ่าน เราจะประมวลผลเพื่อให้แท็กและสคริปต์ไม่ทำงาน คุณไม่มีทางรู้ว่าคนอื่นจะป้อนข้อมูลอะไร
$login = แถบสแลช($login);
$login = htmlspecialchars($login);
$password = แถบสแลช($password);
$password = htmlspecialchars($รหัสผ่าน);
//ลบช่องว่างเพิ่มเติม
$login = ตัด($login);
$password = ตัด($password);
//เชื่อมต่อกับฐานข้อมูล
include("bd.php");// ไฟล์ bd.php จะต้องอยู่ในโฟลเดอร์เดียวกันกับไฟล์อื่นๆ ทั้งหมด หากไม่เป็นเช่นนั้น ให้เปลี่ยนพาธ
$result = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //ดึงข้อมูลจากฐานข้อมูลทั้งหมดเกี่ยวกับผู้ใช้ที่มีการเข้าสู่ระบบที่ป้อน
$myrow = mysql_fetch_array($ผลลัพธ์);
ถ้า (ว่าง($myrow["รหัสผ่าน"]))
{
//หากไม่มีผู้ใช้ที่มีการเข้าสู่ระบบที่ป้อน
}
อื่น(
//ถ้ามีอยู่ให้ตรวจสอบรหัสผ่าน
ถ้า ($myrow["รหัสผ่าน"]==$รหัสผ่าน) (
//หากรหัสผ่านตรงกัน เราจะเปิดเซสชันสำหรับผู้ใช้! ขอแสดงความยินดีด้วย เขาเข้าแล้ว!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];//ข้อมูลนี้ถูกใช้บ่อยมาก ดังนั้นผู้ใช้ที่เข้าสู่ระบบจะ “นำติดตัวไปด้วย”
echo "คุณเข้าสู่เว็บไซต์สำเร็จแล้ว! หน้าแรก";
}
อื่น(
//หากรหัสผ่านไม่ตรงกัน
ออก ("ขออภัย การเข้าสู่ระบบหรือรหัสผ่านที่คุณป้อนไม่ถูกต้อง");
}
}
?>
นั่นคือทั้งหมด! บทเรียนอาจจะน่าเบื่อแต่มีประโยชน์มาก มีเพียงแนวคิดในการลงทะเบียนเท่านั้นที่แสดงไว้ที่นี่ จากนั้นคุณสามารถปรับปรุงได้: เพิ่มการป้องกัน การออกแบบ ช่องข้อมูล การโหลดอวตาร ออกจากระบบบัญชีของคุณ (ในการดำเนินการนี้ เพียงทำลายตัวแปรจากเซสชันด้วยฟังก์ชัน ไม่ได้ตั้งค่า) และอื่นๆ ขอให้โชคดี!
ฉันตรวจสอบทุกอย่างแล้ว มันใช้งานได้ดี!
ขั้นแรก เราจะปรับปรุงหน้าการลงทะเบียนโดยเพิ่มความสามารถในการอัปโหลดอวตาร รูปภาพต้นฉบับจะต้องอยู่ในรูปแบบ jpg, gif หรือ png และไม่ควรเกิน 2 MB ไม่ต้องกังวล หลังจากที่สคริปต์ถูกบีบอัด ขนาดอวตารจะอยู่ที่ประมาณ 3 kb และรูปแบบ jpg เปิดหน้า เร็กPHPและเพิ่มลงในแท็ก < รูปร่าง> เส้น enctype="หลายส่วน/แบบฟอร์มข้อมูล"ดังตัวอย่าง: