ช่วยห่อยครับ เกี่ยวกับการสร้าง Login โดยยการตรวจสอบสถานะ 3 สถานะ ได้แก่ Admin Instructor และ Student ครับ
กล่าวคือ ผมใช้ตาราง user ในการเก็บขจ้อมูลผู้ใชในระบบ (รหัสผู้ใช้,ชื่อผู้ใช้,รหัสผ่าน,ชื่อขสกุล,email,ที่อยู่ )
ใช้ ตาราง user_admin ในการเก็บข้อมูลของผู้ดูแลระบบ (รหัสผู้ดูแลระบบ,รหัสผูใช้,ชื่อผู้ใช้,ภาพประจำตัว)
ใช้ ตาราง user_instructor ในการเก็บข้อมูลผู้สอน (รหัสผู้สอน,รหัสผูใช้,ชื่อผู้ใช้,ภาพประจำตัว,กลุ่มสาระการเรียนรู้)
และใช้ ตาราง user_student มมนการเก็บข้อมูลนักเรียน (รหัสผู้เรียน,รหัสผูใช้,ชื่อผู้ใช้, ชั้น,ห้อง,ภาพประจำตัว)
ซึ่งเมื่อทำการ Login แลล้ม อยากให้ระบบตรวจสอบว่า เป็นผู้ใช้สถานะใหน แล้ว ให้ทำการเข้าสู่ส่วนการจัดการข้อมูลของคนนั้นครับ
พอดีลองศึกษามาหลายที่มาก ทำไม่ได้สักที ขอความช่วยเหลือหน่อยครับ หรือไม่ก็ขอ ลิงค์ ที่เกี่ยวข้องให้ทีคับTag : PHP
Date :
2012-03-06 15:28:14
By :
dexjanghan
View :
1135
Reply :
7
มีคนเคยถามแล้วในบอร์ดนี้แหละ ค้นหาดูหน่อยนะ
Date :
2012-03-06 15:42:55
By :
Dragons_first
ลองดูแล้วครับ ไม่เข้าใจอ่ะ
Date :
2012-03-06 17:48:00
By :
dexjanghan
คุณก็ออกแบบตาราง user ต่างๆรวบเป็นอันเดียวไปเลย
แล้วหน้าที่ มาดูว่าหน้าที่แต่ละ user มีได้เพียง 1 หรือไม่ เช่น ผู้สอนจะเป็นผู้ดูแลไม่ได้ อย่างงี้หน้าที่ก็คือ 1 user 1 role
ก็ออกแบบ field ต่อเนื่องในตาราง user เลย ชื่อฟิลด์ role แล้วก็กรอกลงไปว่าเป็นอะไร
ถ้า 1 user มีได้หลายสถานะ ก็ทำตาราง role ขึ้นมา แล้วมี rold userid rolename ตรง userid ก็ไปอ้างอิงกับตาราง user.userid
เวลาเช็คก็เรียกมาเช็คตามแต่ละแบบ แบบแรกก็เรียกตรงๆได้เลย มาดูว่าสถานะไหน
แบบที่สองก็อาจต้องมี join ตารางกันวุ่นวายนิดนึง
ง่ายนิดเดียว ไม่ยาก
Date :
2012-03-06 20:18:27
By :
mr.v
ควรเปลี่ยนการดีไซน์ฐานข้อมูลครับ รูปแบบฐานข้อมูลผู้ใช้ของคุณมันซ้ำซ้อนและจัดการยากมากครับ
คุณไม่จำเป็นต้องแยกตารางที่เก็บข้อมูลผู้ใช้ตามชนิดของผู้ใช้
แต่ให้มีฟิลด์ที่บอกว่าผู้ใช้มีหน้าที่อะไร หรือมีความสามารถอะไรไว้ในตาราง
อาจจะใช้ชื่อว่า user_type หรือ user_role
แล้วเราตรวจจากข้อมูลตรงนั้นแทนว่าผู้ใช้จะสามารถทำอะไรได้บ้าง
หรือถ้าจะให้ดีไปกว่านั้น ใช้ข้อมูลแบบ SET เพื่อเก็บชนิดของผู้ใช้ ในกรณีที่เราอยากให้ผู้ใช้หนึ่งๆ นั้น มีได้หลายความสามารถ หรือมีอีกตารางหนึ่งที่บอกว่าหน้าที่นี้ มีผู้ใช้รหัสใดอยู่ในกลุ่มบ้าง โดยแต่ละตารางจะมีแค่ฟิลด์ รหัสผู้ใช้เท่านั้น
ถ้ามีข้อมูลอันไหนที่ไม่ได้มีในผู้ใช้ทุกชนิด และจำเป็นจริงๆ ที่จะต้องแยก ให้แยกออกมาเป็นตารางอีกอันหนึ่ง
เช่น
ผู้สอนอาจจะมีตาราง instructor_data ที่มีฟิลด์ข้อมูลเฉพาะของผู้สอน
นักเรียนอาจจะมีตาราง student_data ที่มีฟิลด์ข้อมูลเฉพาะของนักเรียน
Date :
2012-03-07 09:48:20
By :
actioncookie
เข้าใจแล้วครับผม
ขอบพระคุณทุกๆท่านเลยคับ
ทำได้แล้วครับ แต่ต้องลักไก่นิดหน่อย
ขอบคุณมากๆ คับ
Date :
2012-03-08 11:00:30
By :
dexjanghan
Load balance : Server 05