以下の問題に関連して、この省略形の何が問題なのか、誰にもわかりますか?
echo "<td><font size=1 color=#e4d6b5>" . ($row['tier']<$_SESSIONS['tier'] ? "ACCESS DENIED" : $row['contents']) . "</font></td>";
データベースに 2 つのテーブルがあります。
1.) members (id,username,email,password,salt,tier) <-tier はユーザーのセキュリティ クリアランス レベルです。
2.) opwire (category,contents,date,userid,seclevel) <-opwire はユーザーが送信したデータを保存します。userid は、データを opwire に送信したばかりのユーザーを参照する番号です。Seclevel は、ユーザーが送信されたデータの特定の行を表示するために必要なセキュリティ クリアランス レベル (ティア) の高さです。
現在ログインしているユーザーに、セキュリティ階層に基づいて「コンテンツ」へのアクセスを許可または制限しようとしています (メンバーの階層と opwire の seclevel を参照します)。 www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL
私は通常、現在のユーザーを次のように取得します。
$userId = $_SESSION['user_id'];
php を構築するテーブル全体を以下に示します。現在、すべての層を持つユーザーは、層によって制限されている必要がある場合に、seclevel コンテンツを誤って表示する可能性があります。
<?php
include_once 'functions.php';
include_once 'db_connect.php';
sec_session_start();
if(login_check($mysqli) == true) {
$con=mysqli_connect("localhost","mylogin","mypassword","mysqldatabase");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
function getColor($strOption)
{
switch ($strOption)
{
case "Case 1":
return "#cbae80";
case "Case 2":
return "#e59350";
case "Case 3":
return "#b7aaa4";
}
}
$result = mysqli_query($con,"SELECT opwire.*,members.username FROM opwire
LEFT JOIN members on opwire.userid=members.id order by date DESC");
echo "<table border='1'>
<tr>
<th>Category</th>
<th>Contents</th>
<th>Date/Time</th>
<th>Operative</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td><font size=1 color='".getColor($row['category'])."'> " . $row['category'] . "</font></td>";
echo "<td><font size=1 color=#e4d6b5>" . ($row['tier']<$_SESSIONS['tier'] ? "ACCESS DENIED" : $row['contents']) . "</font></td>";
echo "<td><font size=1 color=silver>" . $row['date'] . "</font></td>";
echo "<td><font size=1 color=gold>" . $row['username'] . "</font></td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
} else {
echo 'Access to this area requires security clearance. <br/>';
}
?>