Log in

View Full Version : PHP::ถามเรื่องการจำกัดสิทธิ์ของสมาชิกและการตรึงกระทู้หรือปักหมุด



Satyr1c
22-03-2009, 07:56 PM
ขอถามเรื่องการจำกัดสิทธิ์สมาชิกหน่อยครับ
ประมาณว่า
ถ้าเป็นAdminหรือModให้เข้ากระทู้นี้ได้แต่ถ้าเป็นสมาชิกธรรมดาไม่สามารถเข้าได้
อยากทราบว่าจะจำกัดสิทธิ์ยังไงครับว่าให้Memberนี้เป็นAdminหรือModแล้วเข้ากระทู้หรือForumนั้นได้

แล้วก็อีกเรื่องคือ
ตรึงกระทู้หรือปักหมุด
ปกติAdminหรือModมีวิธีปักหมุดยังไงเหรอครับ
เช่น Login เป็น Mod เมื่อเข้าไปกระทู้นั้นๆจะมีปุ่มให้กดปักหมุดหรือว่าอย่างไรครับ
หรือว่าต้องสร้างfieldเพิ่มขึ้นมาแล้วอยากปักหมุดกระทู้ไหนให้ไปย้ายในDatabase

ขอคำแนะนำด้วยครับ คือลองไปซื้อหนังสือมาดูแล้วในส่วนของการสร้างเว็ปบอร์ดไม่ได้สอนในเรื่องนี้น่ะครับ หรือท่านอื่นมีหนังสือไหนแนะนำเกี่ยวกับการทำเว็ปบอร์ดด้วย php & mysql ก็ช่วยแนะนำด้วยครับ

ขอบคุณครับ

Edkung_
22-03-2009, 10:30 PM
ขอตอบเป็นหลักการให้ไปลองเองนะ (แบบว่ามันเป็น php ไม่ชอบเขียนอะ -_-a)


ขอถามเรื่องการจำกัดสิทธิ์สมาชิกหน่อยครับ
ประมาณว่า
ถ้าเป็นAdminหรือModให้เข้ากระทู้นี้ได้แต่ถ้าเป็นสมาชิกธรรมดาไม่สามารถเข้าได้
อยากทราบว่าจะจำกัดสิทธิ์ยังไงครับว่าให้Memberนี้เป็นAdminหรือModแล้วเข้ากระทู้หร
ือForumนั้นได้ [/b]
ในตอน Login ทำการเก็บค่า username ลงใน session จากนั้น เมื่อถึงกระทู้ใดๆ ที่ต้องการให้ mod เข้าถึงเท่านั้นก็ทำการเชคจาก session แค่นี้แหละ พูดแบบนี้อาจไม่เห็นภาพ ยกตัวอย่างหน่อยละกัน -_-a

สมมติกระทู้มี link เป็น http://cxxxc.us/forum/index.php?showtopic=27120
ใน ไฟล์ index.php ก็จะมี code ประมาณนี้ (อย่างง่าย แต่ไม่ดีหรอก แบบนี้เด๋วลูคุงแกะกระจุย อิอิ แนะแนวทางให้แล้ว ไปสร้างสรรค์ต่อเอาเอง)
[code]
<?php

asylu3
23-03-2009, 05:11 PM
ขอถามเรื่องการจำกัดสิทธิ์สมาชิกหน่อยครับ
ประมาณว่า
ถ้าเป็นAdminหรือModให้เข้ากระทู้นี้ได้แต่ถ้าเป็นสมาชิกธรรมดาไม่สามารถเข้าได้
อยากทราบว่าจะจำกัดสิทธิ์ยังไงครับว่าให้Memberนี้เป็นAdminหรือModแล้วเข้ากระทู้หร
ือForumนั้นได้

แล้วก็อีกเรื่องคือ
ตรึงกระทู้หรือปักหมุด
ปกติAdminหรือModมีวิธีปักหมุดยังไงเหรอครับ
เช่น Login เป็น Mod เมื่อเข้าไปกระทู้นั้นๆจะมีปุ่มให้กดปักหมุดหรือว่าอย่างไรครับ
หรือว่าต้องสร้างfieldเพิ่มขึ้นมาแล้วอยากปักหมุดกระทู้ไหนให้ไปย้ายในDatabase

ขอคำแนะนำด้วยครับ คือลองไปซื้อหนังสือมาดูแล้วในส่วนของการสร้างเว็ปบอร์ดไม่ได้สอนในเรื่องนี้น่ะครับ
หรือท่านอื่นมีหนังสือไหนแนะนำเกี่ยวกับการทำเว็ปบอร์ดด้วย php & mysql ก็ช่วยแนะนำด้วยครับ

ขอบคุณครับ[/b]

แนะนำว่าไปหา phpBB หรือ Simple Machine Forum แบบสำเร็จรูปมาติดตั้งจะดีกว่าครับ เพราะคุณสมบัิตครับถ้วน Interface เข้าใจง่ายจะตรึงหมุดหรือปรับ Permission ต่างๆก็บอกไว้หมดแล้ว ส่วนหากอยากเขียนเองก็ศึกษาจาก sourcecode script ฟรีพวกนั้นดูเองก็ได้

retool2
23-03-2009, 08:16 PM
จากที่ผมเคยอ่าน code ของ drupal และระบบอื่นๆมานะครับ
หลักการคือสมาชิกแต่ละระดับจะมี flag ที่เป็นการบอกสถานะของแต่ละคนอยู่ ซึ่งอาจจะเก็บอยู่ใน table เดียวกับ user หรือว่าแยกกันแล้วแต่อยากจะสร้างครับ ถ้าแยกอาจจะ link ยากนิดเวลา query แต่ว่าจะง่ายในการ manage ครับ เช่น admin =0
mod =1
user =2
แล้วจากนั้นจำใช้การตรวจสอบจาก session ดูแล้วไปเทียบกับ flag ว่าเป็นสถานะใดครับ

yeaz
01-05-2009, 02:45 PM
ของเรา อ่ะ เราสร้าง table register แล้วก้อใส่ level ไว้ข้างในอ่ะ พอตอบ login ก้อให้เก็บ cookies ของ level ไว้ พอหน้าที่ต้องการกันก้อใช่ ว่า ถ้า cookies = &#39;admin&#39; ก้อเข้าได้ อย่าเงี้ย

if ($_COOKIE["level"]!=&#39;admin&#39;){
header("location: login.php");
}else{ เข้าหน้านั้นได้ }

Thegodth
05-05-2009, 05:16 PM
ลองมองภาพแบบ Permission ของ Windows หรือ Linux นะครับ

ซึ่งในลักษณะบอร์ด หรือการทำ permission ก็ทำโดยใช้หลักการนั้นเหมือนกัน

โดยที่ ลองแบ่ง Group และ User ดู (แต่การทำ permission แบบเขียน allow access โปรแกรมไม่เหมือน windows group permission นะ)

จากนั้นให้กำหนดว่า group นี้ สามารถเข้าถึงส่วนไหนได้บ้าง ยกตัวอย่างง่ายๆ อาจมี 2 group และ แบ่งโค๊ดไว้ที่โปรแกรมด้านบนๆ ของ page และ โดยที่ user จะถูกแบ่งตาม group ไป และ ตอน login จะมีการเก็บค่าไว้ที่ตัวแปร session

[code]<?
if ($_SESSION[&#39;group_name&#39;] == "admin") {

retool2
06-05-2009, 11:12 PM
ของเรา อ่ะ เราสร้าง table register แล้วก้อใส่ level ไว้ข้างในอ่ะ พอตอบ login ก้อให้เก็บ cookies ของ level ไว้ พอหน้าที่ต้องการกันก้อใช่ ว่า ถ้า cookies = &#39;admin&#39; ก้อเข้าได้ อย่าเงี้ย

if ($_COOKIE["level"]!=&#39;admin&#39;){
header("location: login.php");
}else{ เข้าหน้านั้นได้ }
[/b]

ผมแนะนำว่าการใช้ cookie นั้นไม่เป็นผลดี(อย่างแรง) ครับเนื่องจาก client สามารถที่จะใส่ค่า cookie ได้เองครับ
ทางที่ดีเวบควรจะมีแต่ cookie หรือถ้าให้ดีที่สุด cookie+ip ตอน login เก็บค่าลง DB ปลอยภัยที่สุดครับ