0

ユーザーがこの人に許可するいくつかのオプションよりも完全なアクセス権を持っているかどうかを確認する許可ページを作成しようとしています.usersという名前のテーブルがあり、それぞれname、、、、の5つの列が ありuser_idます。usernamepasswordemailpermission

パーミッション.php

<?php
  include('db.php');
     $result=mysql_query("SELECT permission,user_id  FROM users");


        while($test = mysql_fetch_array($result))
       {
        $test['user_id'];
        $test['permission'];

        }


  ?>

たとえば、最初の行の mysql の結果:$test['user_id'] = 1 および$test['permission'] = full.

セッション結果:$_SESSION['user_name'] = admin

では、このユーザー ID が完全に許可されているかどうかを確認するにはどうすればよいでしょうか。

私はphpの初心者で、私の悪い説明で申し訳ありません。

4

3 に答える 3

0
<?php
  include('db.php'); // though you should look in to "PDO"

  // default permission--disallowed
  $allowed = false;

  // get the permission for the current user (based on the username within
  // your session variable). also make sure to sanitize anything that's being
  // placed within a query to the database.
  $query = sprintf("SELECT permission "
                  ."FROM users "
                  ."WHERE username = '%s'",
                  mysql_real_escape_string($_SESSION['user_name']));
  $result = mysql_query($query);
  while (($test = mysql_fetch_array($result)) !== false){
    // we found the username, now check their access
    $allowed = $test['permission'] == 'full';
  }

  // if ($allowed){
  //   super secret area
  // } else {
  //   get out of here
  // }
于 2013-10-26T19:54:11.927 に答える
0
<?php
    include('db.php');
    $result = mysql_query("SELECT permission,user_id  FROM users WHERE username = '$_SESSION[user_name]'");
    if(mysql_num_rows($result)){
        $data = mysql_fetch_row($result); // fetch first row of result, we don't need a loop, as username should be unique
        $permission = $data['permision'];
        $user_id = $data['user_id'];
    }else{
        echo "Username not found.";
    }
?>
于 2013-10-26T19:55:58.790 に答える
0

ユーザーが完全な権限を持っている場合は、セッションの完全な権限に保存します

 while($test = mysql_fetch_array($result))
 {                    
    $_SESSION['permission'] = $test['permission'];
  }

ユーザーが完全な権限を持っているかどうかを確認します

   if($_SESSION['permission'] == full){
    //do shomething
    }
于 2013-10-26T19:52:55.593 に答える