Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่องการกำหนดสิทธิ์ ในการใช้งานข้อมูลหน่อยค่ะ



 

สอบถามเรื่องการกำหนดสิทธิ์ ในการใช้งานข้อมูลหน่อยค่ะ

 



Topic : 126801



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์




คือต้องการให้บริษัทแต่ละบริษัท เห็น list เฉพาะข้อมูล ที่บริษัทตนเองดูแลอยู่เท่านั้นค่ะ ยกตัวอย่างเช่น

มีบริษัท อยู่ 3 บริษัท ที่ดูแลฐานข้อมูลต่างกันจากรูป จะแบ่งได้จาก รหัสบริษัท Com_ID ค่ะ

ff

เมื่อบริษัท ล็อกอินเข้าระบบ ในส่วน list เลือก ฐานข้อมูล Reference Database ให้เห็นได้เฉพาะข้อมูลของที่ตนเองดูแลอยู่เท่านั้นค่ะ

เช่น บริษัทที่ 1 ดูแลฐานข้อมูลอยู่ทั้งหมด 5 ฐาน เมื่อล็อกอินเข้ามา ก็จะเห็นเฉพาะ ฐานข้อมูลที่ดูแลอยู่ 5 ฐาน เท่านั้นค่ะ

hh

ต้องกำหนด session ในรูปแบบประมาณไหนค่ะ ที่เขียนไปประมาณนี้ค่ะ แต่ไม่แสดงข้อมูล


ไฟล์ check_login

Code (PHP)
<?php 
session_start(); //เปิด seesion เพื่อทำงาน
include("connect.php");
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; //กำหนดภาษาของเอกสารให้เป็น UTF-8
$username = $_POST[username]; //ประกาศซตัวแปรชื่อ username โดยการรับค่ามาจากกล่อง username ที่หน้า Login
$password = $_POST[password]; //ประกาศซตัวแปรชื่อ password โดยการรับค่ามาจากกล่อง password ที่หน้า Login
	
	if($username == "") {                    
		echo  $msg ="กรุณาใส่ชื่อผู้ใช้";
		echo "<meta http-equiv='refresh' content='0;URL=index.php?f=$msg'>";
			} else if($password == "") {        
			echo $msg ="กรุณาใส่รหัสผ่าน";
			echo "<meta http-equiv='refresh' content='1;URL=index.php?f=$msg'>";
			} else {                                              
	          
			$check_log = mysql_query("select * from user where  Login_user ='$username' and Pw_user ='$password' "); 
			@$num = mysql_num_rows($check_log); 
				if($num <=0) {          
					echo $msg ="ชื่อผู้ใช้/รหัสผ่าน ไม่ถูกต้อง กรุณาตรวจสอบใหม่อีกครั้ง<a href='index.php'>Back</a>";
					echo "<meta http-equiv='refresh' content='1;URL=index.php?f=$msg'>";
					} else {
						while ($data = mysql_fetch_array($check_log) ) { 
							if($data[status_user]==admin){                         
								echo "ยินดีต้อนรับผู้ดูแลระบบ<br />";             
									$_SESSION[ses_userid] = session_id();            
									$_SESSION[ses_username] = $username;     
									$_SESSION[ses_status] = "admin";                     
								echo "<meta http-equiv='refresh' content='1;Admin_search.php'>";
							//ส่งค่าจากหน้านี้ไปหน้า Admin_search.php
							echo "กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
									}elseif($data[status_user]==company){                             
										$_SESSION[ses_userid] = session_id();                      
										$_SESSION[ses_username] = $username;
										$_SESSION[ses_status] = "company";
										$_SESSION[Com_ID] = $data[Com_ID];
									echo "<meta http-equiv='refresh' content='1;URL=company_viewData.php'>";
									//ส่งค่าจากหน้านี้ไปหน้า company_viewData.php
									echo "<br /> กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
									}elseif($data[status_user]==university){                            
										$_SESSION[ses_userid] = session_id();                    
										$_SESSION[ses_username] = $username;
										$_SESSION[ses_status] = "university";
										$_SESSION[Univer_ID] = $data[Univer_ID];
									echo "<meta http-equiv='refresh' content='1;URL=university_view.php'>";
									//ส่งค่าจากหน้านี้ไปหน้า university_view.php
									echo "<br /> กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
									}
										
			}
		}
	}
?>



ไฟล์ฟอร์มสำหรับเลือกค่าและเพิ่มค่า

Code (PHP)
<form action="Company_add_save.php" method="post" name="form1" target="_blank" id="form1" enctype="multipart/form-data">
<?
$link = mysql_connect("localhost", "root", "password");
mysql_select_db("reference_database", $link);

$result = mysql_query("SELECT * FROM university", $link);
$num_rows = mysql_num_rows($result);
//echo "$num_rows Rows\n";
$Line=$num_rows;
?> 
<form id="formRegister" name="formRegister" method="post" action="Company_add_save.php" enctype="multipart/form-data">
<p>บริษัท ||
  <select name="Com_ID" id="Com_ID">
    <option value="">เลือกบริษัท</option>
    <?php
    $sql="select * from company ";
    $a=mysql_query($sql);
    while($objResult=mysql_fetch_array($a)){
?>
  <option value="<?=$objResult['Com_ID']?>"><?= $objResult['Com_name']?></option>
<?php } ?>    
  </select></p>
<br/> 
<p>ฐานข้อมูล Reference Database ||
  <select name="Rf_ID" id="Rf_ID">
    <option value="">เลือกฐานข้อมูล Reference Database ที่ต้องการ</option>
    <?php
    $sql="select * from reference_data ";
    $a=mysql_query($sql);
    while($objResult=mysql_fetch_array($a)){
?>
  <option value="<?=$objResult['Rf_ID']?>"><?=$objResult['Rf_name']?></option>
<?php } ?>    
  </select></p>
<br/>   
แนบไฟล์เอกสาร || 
  <input name="file_name" type="file" id="file_name" enctype="multipart/form-data" />
<br/><br/><br/>

<?
$strSQL = "SELECT * FROM university";
		  
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>

<script language="JavaScript">
function IsNumeric(sText,obj)
{
   var ValidChars = "0123456789,.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
        if(IsNumber==false){
            alert("กรอกข้อมูลเฉพาะตัวเลข เช่น 1,000");
            obj.value=sText.substr(0,sText.length-1);
        }
   }
</script>
<table align="center" border="3" bgcolor="#EDEDED" width="50" class="table table-bordered table-hover" id="example2">  
    <tr>
      <td  rowspan="3" bgcolor="#f79e45" style="text-align: center">ชื่อมหาวิทยาลัย</td>
      <tr>
      <td colspan="5" bgcolor="#f79e45" style="text-align: center">เดือน :
      <label for="Month"></label>
      <select name="Month" id="Month">
    <option value="">เลือกเดือนที่ต้องการ</option>
    <option value="January">January</option>
    <option value="February">February</option>
    <option value="March">March</option>
    <option value="April">April</option>
    <option value="May">May</option>    
    <option value="June">June</option>
    <option value="July">July</option>
    <option value="August">August</option>
    <option value="September">September</option>
    <option value="October">October</option>
    <option value="November">November</option>
    <option value="December">December</option>
  </select>&nbsp;
  ปี :
  <label for="Years"></label>
      <select name="Years" id="Years">
    <option value="">เลือกเดือนที่ต้องการ</option>
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
   </select>
    </tr>
    <tr>
      <td  bgcolor="#f79e45" style="text-align: center">Searches</td>
      <td  bgcolor="#f79e45" style="text-align: center"><p>Full_Text</p>
        <p>Requests</p></td>
      <td  bgcolor="#f79e45" style="text-align: center"><p>Sub</p>
        <p>sessions</p></td>
      <td  bgcolor="#f79e45" style="text-align: center">Queries</td>
      <td  bgcolor="#f79e45" style="text-align: center"><p>Citation</p>
        <p>Events</p></td>
    </tr>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
		if ($bg=="#ffffff"){
				$bg="#fcdebf";}
			else {
				$bg="#ffffff";}
?>
  <tr>
  <tr bgcolor="<?=$bg?>">
 	<td><input type="text" name="Univer_name" readonly="1"  value="<?=$objResult['Univer_name']?>" size="60"><input name="Univer_ID[]" type="hidden" value="<?=$objResult['Univer_ID']?>" /></td>
   
    <td><input type="text" name="Searches[]" id="Searches" size="10" onKeyUp="IsNumeric(this.value,this)" ></td>
    
    <td><input type="text" name="Full_Text_Requests[]" id="Full_Text_Requests" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
    
    <td><input type="text" name="Sub_sessions[]" id="Sub_sessions" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
    
    <td><input type="text" name="Queries[]" id="Queries" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
    <td><input type="text" name="Citation_Events[]" id="Citation_Events" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
  </tr>
  <?php
  }
  ?>
</table>
<? echo $msg ;?>
<br/>
  <div align="center"><input type="submit" name="submit" value="บันทึก">
  
  </div>
  
  </form>




Tag : PHP, HTML/CSS, JavaScript, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-03-13 16:54:03 By : viewsmith View : 1051 Reply : 5
 

 

No. 1



โพสกระทู้ ( 328 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
ดึง เอา id ฐานข้อมูล หลังจาก ล๊อกอินสำเร็จ
select group_concat(Rf_id) as id from tb where  Com_ID = $_SESSION[Com_ID] 

จะได้ค่ามาเป็น 1,2,3,4 .... แล้วเอามาเก็บใส่ session
เวลา query ฐานข้อมูลที่เข้าถึงได้ก็แค่เอา ตัวแปร session มาใส่
select *  from tb where  Com_ID in($_SESSION['....'])

เอาไปปรับเป็น code เองนะคับ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-13 17:33:13 By : Luz
 


 

No. 2



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Luz เมื่อวันที่ 2017-03-13 17:33:13
รายละเอียดของการตอบ ::

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

ดึง เอา id ฐานข้อมูล หลังจาก ล๊อกอินสำเร็จ
select group_concat(Rf_id) as id from tb where Com_ID = $_SESSION[Com_ID]

(group_concat ให้เปลี่ยนเป็นชื่อตาราง reference_data ที่เก็บ ฐานข้อมูลทั้ง Rf_ID , Rf_name และ รหัสบริษัท Com_ID ใช่มั้ยค่ะ)

จะได้ค่ามาเป็น 1,2,3,4 .... แล้วเอามาเก็บใส่ session
(1,2,3,4 นี่หมายถึง รหัสของฐานข้อมูลใช่มั้ยคะ)


(ในส่วนด้านล่างนี้คือ ให้เรียกข้อมูลจากตาราง reference_data มาแสดงอีกรอบนึงมั้ยคะ แล้วตรง in($_SESSION['....']) นั้นคือ ในวงเล็บปล่อยว่าแบบนี้หรอคะ หมายถึงว่าให้เอา ค่า 1,2,3,4 ที่ได้จากการ query ครั้งแรกใช่มั้ยคะ )

เวลา query ฐานข้อมูลที่เข้าถึงได้ก็แค่เอา ตัวแปร session มาใส่
select * from tb where Com_ID in($_SESSION['....'])

เอาไปปรับเป็น code เองนะคับ

แล้วโค้ดทั้งหมดที่ว่ามานี้ ใส่ไว้ในหน้า ฟอร์มเรียกข้อมูลมาแสดงใช้มั้ยคะ ไม่ได้เกี่ยวกับหน้า check_login ใช่มั้ยคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-14 09:46:48 By : viewsmith
 

 

No. 3



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนช่วยหน่อยนะค่ะ ยังไม่ค่อยเข้าใจเลย ขอบคุณค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-14 14:21:50 By : viewsmith
 


 

No. 4



โพสกระทู้ ( 328 )
บทความ ( 0 )



สถานะออฟไลน์


login
Code (PHP)
$sql = "select group_concat(Rf_id) as id from reference_data where  Com_ID = $_SESSION['Com_ID']";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

เอาค่าที่คิวรี่ได้ มาเก็บใส่ session
$_SESSION['Rf_id'] = $row['id'];


หน้าโชว์
Code (PHP)
//ประมาณนี้ฮะ
select * from reference_data where Rf_id in($_SESSION['Rf_id'])

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-14 15:44:49 By : Luz
 


 

No. 5



โพสกระทู้ ( 1,096 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ระหว่างล็อกอิน ให้เราเก็บ session ที่ชื่อ $_SESSION["Com_ID"] ไว้

แล้วการทำงานของมันคือ ถ้าบริษัทไหนล็อกอินเข้ามา

ให้เราใช้เงื่อนไข $_SESSION["Com_ID"] ตัวนี้ ไปทำการ WHERE ข้อมูลที่เราแยกสิทธิ์ของแต่ละบริษัทไว้ไงครับ

บริษัทที่ล็อกอินเข้ามา ก็จะเห็นข้อมูลเฉพาะที่มีสิทธ์ของแต่ละบริษัทเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-14 15:46:03 By : คนมีเสน่ห์
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการกำหนดสิทธิ์ ในการใช้งานข้อมูลหน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

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







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่