私は管理者権限(DBの役割に対して管理者として記録)を持つユーザーのみを許可するページを作成しようとしています。彼らが管理者の場合は、写真をデータベースから取り出して承認します。管理者でない場合、管理ページにリダイレクトされ、画像は表示されません。管理者のみアクセスph
ログインした誰でもそのページを見ることができ、画像が表示されます。私は間違って何をしていますか?
おかげ
<?php
session_start();
$isLoggedIn = isset($_SESSION['first_name']) && isset($_SESSION['username']);
$username = $_SESSION['username'];
if ($isLoggedIn && $_SESSION['username']){
echo "Welcome ".$_SESSION['first_name']."<br><a href='login/logged_out.php'>log
out</a>";
}
$username = $_SESSION['username'];
//var_dump($username);
include("..\connection\connection.php");
// Connect to server and select database.
mysql_connect($host, $username, $password)or die("cannot connect");
mysql_select_db($db_name) or die("cannot select DB");
$query=mysql_query("SELECT * FROM users WHERE username = '$username' AND role =
'admin'");
echo(mysql_error());
$num_rows = mysql_num_rows($query);
if ($num_rows =1){
include("..\connection\connection.php");
// Connect to server and select databse.
mysql_connect($host, $username, $password)or die("cannot connect");
mysql_select_db($db_name) or die("cannot select DB");
$photo=mysql_query("SELECT * FROM images WHERE approved='N'");
echo(mysql_error());
$numrows = mysql_num_rows($photo);//counts the number or rows returned from database
matching the mysql_query.
if ($numrows==0){
echo "There are no images awaiting approval.";
}
while($get_photo=mysql_fetch_array($photo)){?>
<a href="approve_image_submit.php?images=<?php echo $get_photo['big_images']; ?>"
target=""><img src="<? echo $get_photo['url']; ?>" title="">
<? } ?>
<?
}else{
die ("You do not have permission to view this page. Redirect to index.phph Click <a
href='login/login_page.php'>here</a> to log in.");
//
}
?>
ああそうです。もちろん。ありがとう。私は==に変更されましたが、管理者権限を持つユーザーは、管理者以外の役割を持つユーザーと同じ "このページを表示する権限がありません"というメッセージが表示されます。 – user1022772
'if($ num_rows)'だけを試してみませんか? –
うんうん。また、接続ファイルへのパスが認識されないようです。私がmysql_connectと指定したホストなどを入れたとき、それはうまくいった。 – user1022772