ホームページ > バックエンド開発 > PHPチュートリアル > mysql 3_PHP チュートリアルに基づいた BBS デザイン

mysql 3_PHP チュートリアルに基づいた BBS デザイン

WBOY
リリース: 2016-07-13 17:25:11
オリジナル
902 人が閲覧しました

4.ユーザー モジュールの設計
基盤となるデータベースの場合、mysql の C API 関数を呼び出してデータベースを変更し、特定の状態変数が内部に保存されます (ユーザー名など、上位層に任せるべきですか?)。レイヤーとして提供されます
ユーザー管理インターフェース。 ...駅の場所。

public:
int NewUser( char *userid, char *passwd );
新しいユーザーを作成し、それが既に存在するかどうかを確認します
初回ログイン時間、権限などはデフォルト値に設定されます。
int UserLogin( char *userid, char *passwd );
ユーザーログイン、パスワードを確認、
int ChangePasswd( char *oldpasswd, char *newpasswd );
パスワードを変更します。元のパスワードは一致している必要があります。
int ChangePriData( char *newname, char *newemail,
char *newaddr );
基本データ、名前、メールアドレス、アドレスを変更します。 。 。 。
int ModifyNumData( int addlogin, int addpost );
記事数、サイト訪問数などのデータを変更します。 。 。 。呼び出し元のオブジェクトに注意してください。
int UserLogout();
ユーザー終了、lastlogin、staytime、loginhost などの変更

// 通常のクエリコマンド
int QueryCommonData( const char * userid, int& loginnum,
char * username, int& postnum,
time& lastlogin, char * lasthost );





ネチズンの基本情報をクエリします。 int QueryPriData( const char * userid, char *email, char *addr );
// 特権命令。関数は関数を完了する前に、まず権限を決定します。
基本情報をクエリします。一般の人は自分自身のみを確認でき、特権を持つ人は他の人を確認できます。
int ModifyUserLevel( BOOL isAdd, unsigned long level );
ユーザーの権限を変更します、
int ModifyUserId( char *newemail, char *newaddr );
ユーザーの基本データを変更します。
int ModifyUserNumdata( char *userid, int addlogin, int addpost );
ユーザーの記事数やその他のデータを変更します。
int ModifyUserPasswd( char *userid, char *newpasswd );
ユーザーのパスワードを変更します。
}
上記の関数はすべて、対応する SQL ステートメントを実行し、mysql データベースにアクセスします。
一般的な命令は特権命令として分類されるべきですか?権限チェックはこのレベルで行うべきですか、それとも前のレベルで行うべきですか?
これは、プログラムの明確さか、コードの単純さかに重点が置かれています。さらに、訪問数も考慮する必要があります。上位のサービス層も権限チェックを考慮しますか?



http://www.bkjia.com/PHPjc/532073.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/532073.html

技術記事 4.ユーザー モジュールの設計 基盤となるデータベースの場合、mysql の C API 関数を呼び出してデータベースを変更し、特定の状態変数 (ユーザー名など) が内部的に保存され、完了は上位層に任されます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート