私はログインページをよく作っています。実際にログインを完了しましたが、ユーザ権限に基づいてWebページにdiffren'tを表示させるにはどうすればいいですか?私のmysqlデータベースの特権?私のPHPコードでそれらを使用しますか?mysqlデータベースとPHPでのユーザ特権
答えて
私は通常、admin
というテーブルまたはこの場合はprivilege_level
と呼ばれるフィールドを作成し、その後、そのフィールドのどの値がどのレベルの権限に対応するかを定義します。
EDIT(例):
// start session on every page using $_SESSION array
session_start();
session_name("Your Site Name");
header("Cache-control: private");
// in login file:
$q = mysql_query("SELECT uid, privilege_level FROM users WHERE pw = 'escaped_and_preferrably_hashed_password' AND username = 'escaped_username' LIMIT 0,1");
// if row found:
if($q && mysql_num_rows($q) > 0){
// get associative array
$array = mysql_fetch_assoc($q);
// set session vars
$_SESSION['privilege_level'] = $array['privilege_level'];
}
次に、あなたがコンテンツを動的にロードするためには、スイッチまたは他の制御構造/デザインパターンを使用することができる特権レベルを確認したいページ、すなわち上:
switch($_SESSION['privilege_level']){
default:
echo 'you have no privileges';
break;
case "1":
echo 'you have some privileges';
break;
case "2":
echo 'you have lots of privileges';
break;
}
一度私は自分のデータベースに接続し、そのテーブルとフィールドprivilege_levelを選択したら、私は何をしますか?このコード例を教えていただけますか?私はこれについて新しいことをやっています。ありがとう:) – Huntaz556
私の編集は@sissonbが書いたものの例です – AndyPerlitch
あなたの例は私より優れています+1 – sissonb
ユーザーがログオンすると、ユーザー名/パスワードが与えられます。データベースには、このユーザー名とパスワードのハッシュを格納する必要があります。例: md5($password)
。最初に"SELECT privilege_level FROM table WHERE username = ".mysql_real_escape_string ($_POST["username"])." AND password=".md5($_POST["password"])
のようなクエリを実行し、そのprivilege_levelをセッションに保存します。 $_SESSION["privilege_level"] = $privilege_level
次のページを読み込むと、そのページはセッション変数の特権レベルを参照してページを構築する必要があります。
- 1. mysql:特定のユーザ権限
- 2. ユーザ権限fine-grain control PHP MySQL
- 3. ユーザ名、パスワード、およびすべての特権でPHPからMySQLデータベースを作成
- 4. php/mysqlのプロセスでユーザーと管理者特権の問題
- 5. リモートマシンでのユーザ特権の使用
- 6. 別のボックスにPHPサーバを持つMySQL認証と特権
- 7. mysqlデータベースのユーザ入力をPHPと比較する
- 8. PHPを使ってmysqlデータベースの特定のユーザから情報を取得
- 9. すべての特権を持つユーザでMySQLデータベースに接続できません
- 10. PHPデータベース - ユーザ
- 11. MySQLユーザが新しいデータベースに特権を与えることを許可する
- 12. PHPとMySQLデータベース
- 13. MySQL Workbenchエクスポート特権
- 14. Azure MySQL root特権
- 15. ユーザ入力:mySQLデータベース
- 16. MySQLとPHPで空のデータベース?
- 17. Debianで特定のユーザの特権を他のユーザに与えるには?
- 18. MySQL Cluster Auto-Installerのユーザ権限
- 19. 特権ユーザはどのようにMySQLで動作しますか?
- 20. MySQLデータベースのアカウントの特権を自己確認する方法
- 21. PostgreSQLデータベースに対するApacheユーザ権限
- 22. データベースへの特権を持つユーザーを表示します。 MySQL
- 23. Sentry特権モデル:Sentryはサーバー特権からデータベース特権を奪うことができますか?
- 24. はmysqlデータベースに特権を与えることができません
- 25. 一致するユーザのMySQLデータベースと入力し、ユーザ入力
- 26. PHPとmySQLのユニークなユーザ追跡
- 27. ユーザ名とパスワードのバリデーションPHP MySql
- 28. ユーザごとの動的アプリケーション...(PHP MySQL)
- 29. Mysqlデータベース経由でのユーザ認証
- 30. mysqlデータベースにスーパー特権を追加する方法は?
phpmyadminをインストールしましたか?また、mysqlワークベンチはクエリの作成やスキーマの設定に役立ちます。 – sissonb
はいphpmyadminがあり、mysqlワークベンチを取得します – Huntaz556
phpからmysqlデータベースへの 'mysql_connect'を成功させましたか? – sissonb