簡體   English   中英

新聞發布授權系統

[英]News Posting Authorization System

我正在嘗試為我的網站創建一個新聞頁面,以確保該用戶是數據庫中的所有者級別,它可以正常工作,但是當我更改我的級別時,您仍然可以看到應該顯示的消息,表明您是正確的排名。

新聞頁面的代碼

<?php
  require_once('appvars.php');
  require_once('connectvars.php');

  // Make sure the user is logged in before going any further.
  if (!isset($_SESSION['user_id'])) {
    echo '<p class="login">Please <a href="login.php">log in</a> to access this page.</p>';
    exit();
  }
  else {
    echo('<p class="login">You are logged in as ' . $_SESSION['username'] . '. <a href="logout.php">Log out</a>.</p>');
  }

  // Connect to the database
  $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

  // Grab the profile data from the database
  if (!isset($_GET['user_id'])) {
    $query = "SELECT rank FROM kaoscraft_user WHERE user_id = '" . $_SESSION['user_id'] . "'";
  }
  else {
    $query = "SELECT rank FROM kaoscraft_user WHERE user_id = '" . $_GET['user_id'] . "'";
  }
  $data = mysqli_query($dbc, $query);


  if (!$row['rank'] = 'Owner') {
  echo 'Youre not logged in';
  }

  else {
  echo 'Welcome';
  }

  mysqli_close($dbc);
?>

if (!$row['rank'] = 'Owner')

那是任務,不是平等檢查。 使用==進行相等性檢查。 更改后,您必須實際設置$row的值。

$data = mysqli_query($dbc, $query);
$row = $data->fetch_assoc();

if (!isset($row['rank']) || !$row['rank'] == 'Owner') {
    echo 'Youre not logged in';
}

else {
    echo 'Welcome';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM