0

これに関する多くの記事を見てきましたが、これまでのところ何も機能していません。やりたいことはシンプル。

私はログインページを持っています.. mysql/php などを介してあなたが誰であるかを確認します.このページには session_start() が含まれています. そこから、メニューページに移動します。

ログインページからセッションが開始されていない場合、メニューページを表示できず、ログインページに戻るようにしたいと考えています。これが不可能な場合、私が最終的にやりたいことは、ログイン ページを使用してメニュー ページを表示する必要がある場所に移動することです。

コメントからのコード:

login.php

session_start(); 
session_id ("username"); 

menu.php

if(!session_id() == "") { 
    header("location:login.html");
}
4

2 に答える 2

2

セッションを開始するだけでなく、何かを中に入れて、それが過ぎ去ったことがわかるようにする必要がありますlogin.php

$_SESSION['logged_in'] = true;

次に、メニューページ内で、次も必要ですsession_start()

session_start();
if (!isset($_SESSION['logged_in'])) {
    header('Location: /login.php');
}
于 2013-03-14T02:11:22.617 に答える
0

これらの機能はすでに組み込まれており、適切に処理されるため、Laravel などのフレームワークを使用してください。車輪の再発明は意味がなく、私が言及したようなフレームワークは簡単に習得できます。

編集:申し訳ありませんが、私は質問に答えるのに比較的慣れていないので、もう一度やり直します。

Usercake などのライブラリでは、ユーザーがログインしたときにセッション変数を設定すると、

$_SESSION["stack_user"] = "user@stackoverflow.com"; // This could be their name, an object etc

この後、ユーザーのログインが必要な各ページで、次の方法で確認できます

if (!isset($_SESSION["stack_user"])){
    header("Location: /login.php");
}
// The rest of your page logic here

ああ、これがすでに言っていることに気づきました...男の子、私は悪いスタートを切っています

于 2013-03-14T02:00:25.963 に答える