私は PHP の初心者で、セッションを使用してユーザーが Web サイトにログインしているかどうかを確認し、特定のページにアクセスする権限があるかどうかを確認する方法を考えています。
これは複雑なことでしょうか、それとも私が初心者なので理解できないのでしょうか?
ベストアンサー1
ログインはそれほど複雑ではありませんが、ほぼすべてのログイン プロセスに必要な特定の部分がいくつかあります。
まず、ログイン状態を知る必要があるすべてのページの先頭に次のコードを追加して、セッション変数が有効になっていることを確認します。
session_start();
次に、ユーザーがログイン フォームからユーザー名とパスワードを送信すると、通常は、MySQL などのユーザー名とパスワード情報を含むデータベースを照会して、ユーザー名とパスワードを確認します。データベースが一致を返した場合、その事実を含むセッション変数を設定できます。他の情報も含める必要がある場合があります。
if (match_found_in_database()) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username; // $username coming from the form, such as $_POST['username']
// something like this is optional, of course
}
次に、ログイン状態に依存するページに、次のコードを追加します ( を忘れないでくださいsession_start()
)。
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) {
echo "Welcome to the member's area, " . htmlspecialchars($_SESSION['username']) . "!";
} else {
echo "Please log in first to see this page.";
}
これらは基本的なコンポーネントです。SQL の側面についてサポートが必要な場合は、ネット上にチュートリアルが多数あります。