|
|
|
การให้user กำหนดการตั้งค่า privacy ของตัวเองได้ ว่าเลือกโชว์หน้าไหนได้บ้าง เช่น user ต้องการโชว์หน้าprofile แต่ไม่ต้องการโชว์หน้า contact |
|
|
|
|
|
|
|
ไม่ได้ใช้ code อะไรซับซ้อนหรอกครับ
แต่อาจจะต้องสร้างตาราง privacy เพิ่มน่ะครับ
โดยในตารางนั้น
สร้างฟิวด์เก็บ userid และ ฟิวด์เมนูต่างๆน่ะครับ เพื่อมช้เก็บ สถานะ active ของแต่ละเมนู แต่ละ user ครับ
ตย.
ตาราง privacy
-userid
-menue1 ชนิดข้อมูล int
-menue2 ชนิดข้อมูล int
-menue3 ชนิดข้อมูล int
...
...
-menuexxx ชนิดข้อมูล int
จากนั้น นำเงื่อนไขฟิวด์แต่ละอันไปแสดง ให้ user ติ๊กเลือก active or not active
ให้แต่ละเมนูที่ตัวเองต้องการแสดงหรือไม่ต้องการแสดงน่ะครับ
ในส่วนการเขียน code php เช็คค่า ก็ใช้ select ธรรมดา
แล้วเอาค่าสถานะแต่ละเมนูมาตรวจสอบ ว่า active หรือไม่
ถ้า active ก็แสดง ถ้าไม่ ก็ไม่ต้องแสดง
ตย2.
if($Fetch['menu1'] = "Active")
{
echo "Show";
}
/// ประมาณนี้ครับ สำคัญที่การสร้างตาราง privacy
|
ประวัติการแก้ไข 2011-08-20 17:20:31
|
|
|
|
Date :
2011-08-20 17:19:14 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ เหมือนที่คิดไว้เลยค่ะและกำลังทำก็ทำตามนี้อ่าค่ะ
1.สงสัยที่ว่าให่ค่าเป็น int นี้คือ ให้กำหนดว่า active=1 ,Notactive=2 ไรงี้ป่าวค่ะ
2.
จากคำแนะนำด้านบน
if($Fetch['menu1'] = "Active")
{
echo "Show";
}
ตรง echo "Show";
จะให้เป็น "<li><a href="std_profile.php">Profile</a></li>" อ่ะค่ะซึ่งมันไม่ใช่phpอ่ะค่ะ แล้วทำยังงัยอ่าคะ ให้มันโชว์ได้
^,.^
|
|
|
|
|
Date :
2011-08-23 16:07:09 |
By :
Angus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบข้อ 1 เข้าใจถูกต้องแล้วครับ
ตอบข้อ 2
Code (PHP)
if($Fetch['menu1'] = "Active") // *** menu1 เป็นชื่อฟิวด์ที่ผม สมมุติเองน่ะครับ ...
{
?>
<li><a href="std_profile.php">Profile</a></li>
<?
}
|
ประวัติการแก้ไข 2011-08-23 17:08:06
|
|
|
|
Date :
2011-08-23 17:07:46 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
mysql_connect("localhost","root","root");
mysql_select_db("database");
$strSQL = "SELECT * FROM privacy WHERE std_id = '".$_SESSION['user_id']."' ";
$strSQL = "SELECT * FROM privacy WHERE profile = '".$_SESSION['profile']."',newtopic = '".$_SESSION['newtopic']."'
,credit = '".$_SESSION['credit']."' ,card = '".$_SESSION['card']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
$_SESSION['user_id'] == "222";
?>
<div class="menu">
<ul>
<? if($_SESSION['user_id'] == "222")
{
?>
<li><a href="profile.php"><strong>Profile</strong></a></li>
<li><a href="newtopic.php"><strong>newtopic</strong></a> </li>
<li><a href="credit.php"><strong>credit</strong></a> </li>
<li><a href="card.php"><strong>card</strong></a> </li>
<?
}?>
<? if ($_SESSION['user_id'] == "")
$_SESSION['profile'] = $status;
if($status == 'yes')
{ ?>
<li><a href="std_profile.php"><strong>Profile</strong></a></li>
<? }
$_SESSION['newtopic'] = $status;
if($status == 'yes')
{ ?>
<li><a href="newtopic.php"><strong>newtopic</strong></a> </li>
<? }
$_SESSION['credit'] = $status;
if($status == 'yes')
{ ?>
<li><a href="credit.php"><strong>credit</strong></a> </li>
<? }
$_SESSION['card'] = $status;
if($status == 'yes')
{ ?>
<li><a href="card.php"><strong>card</strong></a> </li>
<? } ?>
</ul>
</div>
ที่เขียนก็ประมาณนี้อ่าค่ะ
แต่ยังไม่ได้อ่าค่ะ
รบกวนช่วยดูให้หน่อยได้ไหมค่ะ
|
|
|
|
|
Date :
2011-08-23 17:12:58 |
By :
Angus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ่อ..จริงๆแล้วผมไม่แน่ใจว่าคุณเก็บ privacy ยังไงน่ะครับ
เอาเป็นว่า ผมทำให้ดูเป็นแนวน่ะครับ ข้อมูลผมสมมุติเอาเองตามเคยน่ะครับ
2 >> Active
1 >> NotActive
Code (PHP)
<?
mysql_connect("localhost","root","root");
mysql_select_db("database");
$strSQL = "SELECT * FROM privacy WHERE user_id = '".$_SESSION['user_id']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<div class="menu">
<ul>
<? if(count($objResult) > 0)
{
if($objResult['profile'] > 1)
{
?>
<li><a href="profile.php"><strong>Profile</strong></a></li>
<?
}
if($objResult['newtopic'] > 1)
{
?>
<li><a href="newtopic.php"><strong>newtopic</strong></a> </li>
<?
}
if($objResult['credit'] > 1)
{
?>
<li><a href="credit.php"><strong>credit</strong></a></li>
<?
}
if($objResult['card'] > 1)
{
?>
<li><a href="card.php"><strong>card</strong></a> </li>
<?
}
}
else // กรณียังไม่ล็อกอิน โชว์หมดเลย...อิอิ
{
?>
<li><a href="profile.php"><strong>Profile</strong></a></li>
<li><a href="profile.php"><strong>newtopic</strong></a></li>
<li><a href="profile.php"><strong>credit</strong></a></li>
<li><a href="profile.php"><strong>card</strong></a></li>
<?
}
?> </ul>
</div>
|
ประวัติการแก้ไข 2011-08-23 17:32:18 2011-08-23 17:34:57
|
|
|
|
Date :
2011-08-23 17:31:38 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ่วว ขอบคุณมากค่ะ
เข้าใจหมดเลยค่ะ
แต่ที่ต้องการจริงๆคือถ้าเราlogin ของเราเองก็จะเห็นหมดทุกหน้าคือ profile, newtopic ,credit ,card
ถ้าคนอื่นเข้ามาดูหน้าเพจเราก็จะเห็นเฉพาะหน้าที่มี่ค่า active เป็น2 อ่าค่ะ
เดี้ยวจะไปลองเขียนดูอ่าค่ะ ว่าจะใช้
if($_SESSION['user_id'] == "222") จะเห็นทุกหน้า
if($_SESSION['user_id'] == " ") แล้วตามเงื่อนไขที่คุณmangkunzo เขียนให้
น่าจะใช้ได้ใช่ไหมค่ะแบบนี้
|
|
|
|
|
Date :
2011-08-23 17:58:20 |
By :
Angus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ครับ..ประยุกต์ ตามเงื่อนไขเลยครับ if..else...
Code (PHP)
<?
mysql_connect("localhost","root","root");
mysql_select_db("database");
$strSQL = "SELECT * FROM privacy WHERE user_id = '".$_SESSION['user_id']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<div class="menu">
<ul>
<? if(count($objResult) > 0)
{
if($objResult['user_id'] !="222")
{
if($objResult['profile'] > 1)
{
?>
<li><a href="profile.php"><strong>Profile</strong></a></li>
<?
}
if($objResult['newtopic'] > 1)
{
?>
<li><a href="newtopic.php"><strong>newtopic</strong></a> </li>
<?
}
if($objResult['credit'] > 1)
{
?>
<li><a href="credit.php"><strong>credit</strong></a></li>
<?
}
if($objResult['card'] > 1)
{
?>
<li><a href="card.php"><strong>card</strong></a> </li>
<?
}
}
else // กรณี user_id = 222
{
?>
<li><a href="profile.php"><strong>Profile</strong></a></li>
<li><a href="profile.php"><strong>newtopic</strong></a></li>
<li><a href="profile.php"><strong>credit</strong></a></li>
<li><a href="profile.php"><strong>card</strong></a></li>
<?
}
}
?> </ul>
</div>
|
ประวัติการแก้ไข 2011-08-23 21:44:57
|
|
|
|
Date :
2011-08-23 21:40:53 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ่วว ได้แล้วค่ะ
ขอบคุณมากค่ะ คุณmangkunzo
เดี้ยวต้องไปทำให้สมบูรณ์แบบและครบถ้วน
|
|
|
|
|
Date :
2011-08-24 02:38:04 |
By :
Angus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|