ホームページ >バックエンド開発 >PHPチュートリアル >PHPはメッセージを投稿した人(どの登録ユーザー)をどのようにして知るのでしょうか?

PHPはメッセージを投稿した人(どの登録ユーザー)をどのようにして知るのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 14:09:32932ブラウズ

session() 関数を学習してください:
1. 訪問者は Web サイトにアクセスして投稿を閲覧し、コメントしたいと考えています。このとき、ページは、login.php ログイン インターフェイスにジャンプします。これはどのようにして達成されるのでしょうか? ?原理を聞いてみよう! !
2. ユーザーがログイン後に投稿した場合、PHP はどの登録ユーザーが投稿を投稿したかをどのようにして知るのでしょうか?これはどのようにして達成されるのでしょうか?原理を聞いてみよう!


ディスカッションへの返信(解決策)

ユーザー登録、登録情報、健康診断はデータベースに保存され、データベースへのクエリによって実行されます。

ユーザーがログインすると、ユーザー名がセッションに保存されます
コメントを投稿するときは、まずセッションにログイン情報があるか確認してください

PHP はどの登録ユーザーが投稿したか知りません
関連付けする必要があります自分で投稿したユーザー名

まだ調査が徹底されていません
ログイン後、セッションはユーザーIDを記録します。つまり、ログインしていないときは、セッション変数にIDが存在しないため、判断できます。 the Jump

セッション ID に従って、どのユーザーであるかを識別し、取得するときにセッション ID を使用してセッションに完全な情報が保存されます。 、sessionID を使用します。PHP は投稿ページに誰が投稿したかをどのようにして知るのでしょうか?ありがとうございます

セッション ID に従って、完全な情報がセッションに保存されています。 `PHP は、表示された投稿ページに誰が投稿したかをどのようにして知ることができますか?ありがとうございます


データベースフィールドを読んでください...

session() 関数を勉強してください:

1. 訪問者が投稿を閲覧するために Web サイトに入り、コメントしたいと考えています。このとき、ページは、login.php ログイン インターフェイスにジャンプします。これはどのようにして達成されるのでしょうか? ?原理を聞いてみよう! !

2. ユーザーがログイン後に投稿した場合、PHP はどの登録ユーザーが投稿を投稿したかをどのようにして知るのでしょうか?これはどのようにして達成されるのでしょうか?原理を聞いてみよう!

あなたが言及した問題について話している Han Shuping の PHP ビデオを見ました。彼のビデオでは、セッションの説明の際に、ユーザーが不正にログインするのを防ぐ方法について説明していました。これがあなたが今相談している問題です。 。

1. ユーザーがログインすると、ユーザーのログイン名とパスワード (最初は検証コードを無視します) がフォームを通じてサーバー (対応する PHP 検証スクリプト) に送信されます。このスクリプトは、検証のためにデータベースからユーザー テーブルを取得します。
2. 正当な場合、つまりユーザーのログイン名とパスワードが正常にログインした場合、PHP プログラム (特にジャンプを担当) がセッション メカニズム (session_start) を開き、ユーザーのログイン名をセッションに保存します。そしてジャンプします。不正な場合 (正しくログインしていない場合)、ログイン ページに移動し、ユーザーにユーザー名とパスワードを再入力するように求めます。

コードは次のとおりです:
$adminService=new AdminService();
$name=$adminService->checkAdmin($id, $password);
if ($name){
//Legal
session_start() ;
$ _SESSION['loginUser']=$name;
header("Location:empManage.php?name=$name");
//ジャンプする場合は、exit(); );
}else {
//Illegal
header('location:login.php?errno=1');
exit() }

3. たとえば、common.php という名前のパブリック スクリプトを作成します。このスクリプトでは、次のようにメソッドを定義します。
function checkUserValidate(){
session_start();
if (empty($_SESSION['loginUser'])){
header("Location:login.php?errno=) 1");
}

}
4. ユーザーの不正ログインを防止する必要があるページ (例: 先ほどの投稿ページ) にこれら 2 つの文を導入します (これら 2 つの文をページの先頭に置きます)
require_once 'common.php';
checkUserValidate();
ログインしていないユーザーは投稿ページに入ることができません。ログインに成功したユーザーがページに入ると、プログラムはセッションからユーザー情報を簡単に取得できます。

もっと詳しく知りたい場合は、ハン・シュンピン氏のビデオ講義 119、事件の後半をご覧ください。もう書きません、疲れました。ふふ!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。