0

私はphp-html-mysqlで設計されたウェブサイトを持っています。ユーザーログインシステムがあります。ユーザータイプは 3 です。

  1. 管理者
  2. ユーザー
  3. 訪問者

この 3 種類のユーザーは、ページへのアクセスの種類が異なります。MENUの項目が異なります。たとえば、管理者は一部の情報を編集、削除、更新できますが、無料のユーザーはできません。

私はページを作成していました。しかし、どうすればすべてのページでアクセスを変えることができますか? つまり、すべてのページにメニューをロードする必要があります。ただし、管理者にとっては、ユーザーではなくメニュー項目が異なり、訪問者によっても異なります。

SESSION を使用しようとしていますが、これを使用する方法がわかりません。私のシナリオに応募する方法。

4

3 に答える 3

0

最初にアクセス レベルを作成する必要があります。最初に、セッション、メニューを処理するための個別のファイルを作成してください。ファイルへのアクセスを決定するクラスを作成します。すべてのページで、このクラス関数を呼び出すと、アクセス レベルが完了します。

たとえば、メニュー項目を処理するためのファイルを作成します。まったく異なる場合は、アクセス レベルに応じてファイルを切り替えます。また、メニューに若干の変更がある場合は、 if else 条件を追加するだけです。このようにして、より簡単なメニュー システムが得られます。これを他のサイト機能に適用します。たとえば、サイト変数の管理など。管理者ユーザーのみにアクセス権が付与されます。

于 2012-04-25T09:03:57.537 に答える
0

これまでのページでユーザーを確認します。したがって、edit.phpスクリプトがある場合は、上部で確認してください。

<?php

if ($_SESSION['user']['user_type'] != 'admin') {
    die('You do not have permission to view this page.');
}

// continue showing edit form

ユーザーを提供していないため、ユーザーを保存しているセッション構造またはデータベース構造のセットアップがわからないため、これが私または誰かが提供できる最高のものです。

于 2012-04-25T08:56:31.830 に答える
0

ユーザーテーブルのデータベースに「user_level」または別のフィールドを作成する必要があります.0または1の値が可能です...ユーザーのレベルが0の場合、ユーザーは単純なユーザーであり、それ以外の場合は1の場合、ユーザーは管理者です. ユーザーのログイン時に、セッション「user_level」を「user_level」フィールドから保存します。

次に、すべてのページで次を確認します。

<?
if($_SESSION['user_level'] == 1) { display_menu_for_admin(); }
?>
于 2012-04-25T08:58:15.047 に答える