0

私はこのコードを持っています:

$username = $_POST["username"];
$password = $_POST["password"];

if(mysql_num_rows($result80)>0)
 {
    $row80 = mysql_fetch_assoc($result80);
    $_SESSION["loginmng"] = 1;
    $_SESSION["username"] = $username;
    $_SESSION["password"] = $password;
    $fname = $row80["fname"];
    $lname = $row80["lname"];
    $userid = $row80["id"];
 }

セッションとその作業を同じページ(index.php)でエコーしようとしたため、すべて問題ありません。今、次のチェックがあります。

if(($_SESSION["loginmng"]!=1)||(!isset($_SESSION["username"]))||(!isset($_SESSION["password"])))
{
   header("Location: index.php");
}

これを新しいフォルダに入れたとき: newfolder/index.php チェックが正しく機能していませんecho $_SESSION["loginmng"].セッションが設定されておらず、ヘッダーが実行されているように...そしてインデックスに移動します...私もsession_start();最初のphp行を入れました。

if($_SESSION["loginmng"]!=1)
{
  header("Location: ../index.php");
}

そして同じこと...セッションが設定されていないなど、何が問題なのか

4

2 に答える 2

1

session_start();ファイルの先頭に追加するのを忘れた可能性があります。

各ページでセッションを開始するには、各ページでセッションを開始する必要があります。

session_start()GETorPOSTリクエストまたは Cookie を介して渡されたセッション識別子に基づいて、セッションを作成するか、現在のセッションを再開します。

于 2012-09-27T07:26:24.117 に答える