-1

CodeIgniter のエラー、特に MVC パターンを処理するには、どの方法が正しいのか疑問に思っています。SQL エラーだけについて話しているわけではありませんが、ユーザー レベルのアクセス制御システムがあり、すべてのレベルがサイトの特定の部分にアクセスできるとしましょう。

誰かが自分のレベルで立ち入り禁止の場所に入ろうとした場合はどうなりますか?

または、いくつかの条件に基づいてコントローラーを実行し、これらの条件が満たされない場合は?

アプリケーションを参照して使用しているエンド ユーザーを混乱させずにエラーを制御する最善の方法はどれですか?

私はあなたがそれをどのように行うのだろうか.

エラーが発生したときなどに、別のビューとコントローラーを使用していますか?

4

2 に答える 2

0

データベースでユーザーのアクセスレベルを指定できます。ユーザーが禁止された場所にアクセスしようとすると、ユーザーデータにエラーを保存し、設定されている場合はそれらをビューに表示できます。

codeigniter セッション クラスのドキュメント: http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

于 2013-07-04T08:21:32.137 に答える
0

あなたは2つの異なることを求めています。

最初の1つ:

しかし、何かを編集するフォームがあり、ユーザーレベルによっては編集できない場合はどうでしょうか。

これを実現できますが、ユーザーに権限がない場合、フォームにフィールドを表示したり、データベースを更新したりすることはできません。

if ($user_has_permissions)
{
echo form_input('field_name');
echo form_input('field_name');
}

行を更新するとき

if ($user_has_permissions)
{
$this->db->set('db_field_name', $field_name);
}

フォーム検証でエラー メッセージを表示する場合は、コールバック ( CodeIgniter の callbaks ) を使用します。ユーザーが権限を持っているかどうかを確認し、持っていない場合はメッセージを表示します。

二つ目

die() の使用はオプションではありません。アプリ全体をクラッシュさせたくないだけです

die() を使用せずに実行を停止したくない場合は、それを行うための他の「より使いやすい」フォームがあります。

show_404();
show_error();
show_error('Description of your error');

これにより実行が停止し、エラーの説明を含む派手な画面が表示されます。

于 2013-07-04T10:01:36.120 に答える