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,038

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


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

 
Topic : 126801



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



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



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

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

ff

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

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

hh

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


ไฟล์ check_login

Code (PHP)
01.<?php
02.session_start(); //เปิด seesion เพื่อทำงาน
03.include("connect.php");
04.echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; //กำหนดภาษาของเอกสารให้เป็น UTF-8
05.$username = $_POST[username]; //ประกาศซตัวแปรชื่อ username โดยการรับค่ามาจากกล่อง username ที่หน้า Login
06.$password = $_POST[password]; //ประกาศซตัวแปรชื่อ password โดยการรับค่ามาจากกล่อง password ที่หน้า Login
07.     
08.    if($username == "") {                   
09.        echo  $msg ="กรุณาใส่ชื่อผู้ใช้";
10.        echo "<meta http-equiv='refresh' content='0;URL=index.php?f=$msg'>";
11.            } else if($password == "") {       
12.            echo $msg ="กรุณาใส่รหัสผ่าน";
13.            echo "<meta http-equiv='refresh' content='1;URL=index.php?f=$msg'>";
14.            } else {                                             
15.               
16.            $check_log = mysql_query("select * from user where  Login_user ='$username' and Pw_user ='$password' ");
17.            @$num = mysql_num_rows($check_log);
18.                if($num <=0) {         
19.                    echo $msg ="ชื่อผู้ใช้/รหัสผ่าน ไม่ถูกต้อง กรุณาตรวจสอบใหม่อีกครั้ง<a href='index.php'>Back</a>";
20.                    echo "<meta http-equiv='refresh' content='1;URL=index.php?f=$msg'>";
21.                    } else {
22.                        while ($data = mysql_fetch_array($check_log) ) {
23.                            if($data[status_user]==admin){                        
24.                                echo "ยินดีต้อนรับผู้ดูแลระบบ<br />";            
25.                                    $_SESSION[ses_userid] = session_id();           
26.                                    $_SESSION[ses_username] = $username;    
27.                                    $_SESSION[ses_status] = "admin";                    
28.                                echo "<meta http-equiv='refresh' content='1;Admin_search.php'>";
29.                            //ส่งค่าจากหน้านี้ไปหน้า Admin_search.php
30.                            echo "กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
31.                                    }elseif($data[status_user]==company){                            
32.                                        $_SESSION[ses_userid] = session_id();                     
33.                                        $_SESSION[ses_username] = $username;
34.                                        $_SESSION[ses_status] = "company";
35.                                        $_SESSION[Com_ID] = $data[Com_ID];
36.                                    echo "<meta http-equiv='refresh' content='1;URL=company_viewData.php'>";
37.                                    //ส่งค่าจากหน้านี้ไปหน้า company_viewData.php
38.                                    echo "<br /> กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
39.                                    }elseif($data[status_user]==university){                           
40.                                        $_SESSION[ses_userid] = session_id();                   
41.                                        $_SESSION[ses_username] = $username;
42.                                        $_SESSION[ses_status] = "university";
43.                                        $_SESSION[Univer_ID] = $data[Univer_ID];
44.                                    echo "<meta http-equiv='refresh' content='1;URL=university_view.php'>";
45.                                    //ส่งค่าจากหน้านี้ไปหน้า university_view.php
46.                                    echo "<br /> กรุณารอสักครู่ กำลังเข้าสู่ระบบ..............................";
47.                                    }
48.                                         
49.            }
50.        }
51.    }
52.?>



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

Code (PHP)
001.<form action="Company_add_save.php" method="post" name="form1" target="_blank" id="form1" enctype="multipart/form-data">
002.<?
003.$link = mysql_connect("localhost", "root", "password");
004.mysql_select_db("reference_database", $link);
005. 
006.$result = mysql_query("SELECT * FROM university", $link);
007.$num_rows = mysql_num_rows($result);
008.//echo "$num_rows Rows\n";
009.$Line=$num_rows;
010.?>
011.<form id="formRegister" name="formRegister" method="post" action="Company_add_save.php" enctype="multipart/form-data">
012.<p>บริษัท ||
013.  <select name="Com_ID" id="Com_ID">
014.    <option value="">เลือกบริษัท</option>
015.    <?php
016.    $sql="select * from company ";
017.    $a=mysql_query($sql);
018.    while($objResult=mysql_fetch_array($a)){
019.?>
020.  <option value="<?=$objResult['Com_ID']?>"><?= $objResult['Com_name']?></option>
021.<?php } ?>   
022.  </select></p>
023.<br/>
024.<p>ฐานข้อมูล Reference Database ||
025.  <select name="Rf_ID" id="Rf_ID">
026.    <option value="">เลือกฐานข้อมูล Reference Database ที่ต้องการ</option>
027.    <?php
028.    $sql="select * from reference_data ";
029.    $a=mysql_query($sql);
030.    while($objResult=mysql_fetch_array($a)){
031.?>
032.  <option value="<?=$objResult['Rf_ID']?>"><?=$objResult['Rf_name']?></option>
033.<?php } ?>   
034.  </select></p>
035.<br/>  
036.แนบไฟล์เอกสาร ||
037.  <input name="file_name" type="file" id="file_name" enctype="multipart/form-data" />
038.<br/><br/><br/>
039. 
040.<?
041.$strSQL = "SELECT * FROM university";
042.           
043.$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
044.?>
045. 
046.<script language="JavaScript">
047.function IsNumeric(sText,obj)
048.{
049.   var ValidChars = "0123456789,.";
050.   var IsNumber=true;
051.   var Char;
052.   for (i = 0; i < sText.length && IsNumber == true; i++)
053.      {
054.      Char = sText.charAt(i);
055.      if (ValidChars.indexOf(Char) == -1)
056.         {
057.         IsNumber = false;
058.         }
059.      }
060.        if(IsNumber==false){
061.            alert("กรอกข้อมูลเฉพาะตัวเลข เช่น 1,000");
062.            obj.value=sText.substr(0,sText.length-1);
063.        }
064.   }
065.</script>
066.<table align="center" border="3" bgcolor="#EDEDED" width="50" class="table table-bordered table-hover" id="example2"
067.    <tr>
068.      <td  rowspan="3" bgcolor="#f79e45" style="text-align: center">ชื่อมหาวิทยาลัย</td>
069.      <tr>
070.      <td colspan="5" bgcolor="#f79e45" style="text-align: center">เดือน :
071.      <label for="Month"></label>
072.      <select name="Month" id="Month">
073.    <option value="">เลือกเดือนที่ต้องการ</option>
074.    <option value="January">January</option>
075.    <option value="February">February</option>
076.    <option value="March">March</option>
077.    <option value="April">April</option>
078.    <option value="May">May</option>   
079.    <option value="June">June</option>
080.    <option value="July">July</option>
081.    <option value="August">August</option>
082.    <option value="September">September</option>
083.    <option value="October">October</option>
084.    <option value="November">November</option>
085.    <option value="December">December</option>
086.  </select>&nbsp;
087.  ปี :
088.  <label for="Years"></label>
089.      <select name="Years" id="Years">
090.    <option value="">เลือกเดือนที่ต้องการ</option>
091.    <option value="2015">2015</option>
092.    <option value="2016">2016</option>
093.    <option value="2017">2017</option>
094.    <option value="2018">2018</option>
095.    <option value="2019">2019</option>
096.    <option value="2020">2020</option>
097.   </select>
098.    </tr>
099.    <tr>
100.      <td  bgcolor="#f79e45" style="text-align: center">Searches</td>
101.      <td  bgcolor="#f79e45" style="text-align: center"><p>Full_Text</p>
102.        <p>Requests</p></td>
103.      <td  bgcolor="#f79e45" style="text-align: center"><p>Sub</p>
104.        <p>sessions</p></td>
105.      <td  bgcolor="#f79e45" style="text-align: center">Queries</td>
106.      <td  bgcolor="#f79e45" style="text-align: center"><p>Citation</p>
107.        <p>Events</p></td>
108.    </tr>
109.<?php
110.while($objResult = mysql_fetch_array($objQuery))
111.{
112.        if ($bg=="#ffffff"){
113.                $bg="#fcdebf";}
114.            else {
115.                $bg="#ffffff";}
116.?>
117.  <tr>
118.  <tr bgcolor="<?=$bg?>">
119.    <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>
120.    
121.    <td><input type="text" name="Searches[]" id="Searches" size="10" onKeyUp="IsNumeric(this.value,this)" ></td>
122.     
123.    <td><input type="text" name="Full_Text_Requests[]" id="Full_Text_Requests" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
124.     
125.    <td><input type="text" name="Sub_sessions[]" id="Sub_sessions" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
126.     
127.    <td><input type="text" name="Queries[]" id="Queries" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
128.    <td><input type="text" name="Citation_Events[]" id="Citation_Events" onKeyUp="IsNumeric(this.value,this)" size="10"></td>
129.  </tr>
130.  <?php
131.  }
132.  ?>
133.</table>
134.<? echo $msg ;?>
135.<br/>
136.  <div align="center"><input type="submit" name="submit" value="บันทึก">
137.   
138.  </div>
139.   
140.  </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 : 1092 Reply : 5
 

 

No. 1



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



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


Code (PHP)
1.ดึง เอา id ฐานข้อมูล หลังจาก ล๊อกอินสำเร็จ
2.select group_concat(Rf_id) as id from tb where  Com_ID = $_SESSION[Com_ID]
3. 
4.จะได้ค่ามาเป็น 1,2,3,4 .... แล้วเอามาเก็บใส่ session
5.เวลา query ฐานข้อมูลที่เข้าถึงได้ก็แค่เอา ตัวแปร session มาใส่
6.select *  from tb where  Com_ID in($_SESSION['....'])
7. 
8.เอาไปปรับเป็น 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)
1.$sql = "select group_concat(Rf_id) as id from reference_data where  Com_ID = $_SESSION['Com_ID']";
2.$result = mysql_query($sql);
3.$row = mysql_fetch_array($result);
4. 
5.เอาค่าที่คิวรี่ได้ มาเก็บใส่ session
6.$_SESSION['Rf_id'] = $row['id'];


หน้าโชว์
Code (PHP)
1.//ประมาณนี้ฮะ
2.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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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