1

これが私のコードの簡略版です

<?php session_start();
    if($_GET['page'] == "login")
    {   // process username/password
        if(login is successful)
           $_SESSION['access'] = "dev";
    }
    else if($_GET['page'] == "request")
    {
        //get some data from an xml file using simplexml 
    }
?>
<?php if(!isset($_SESSION['access']) { ?>
    <!-- display login form. submits to this page + ?page=login -->
<?php } else { ?>
    <!-- display edit form, nothing more than a textarea, a select and a submit button. -->
    <!-- The form points to this page + ?page=request -->
<?php } ?>

ログインすると$_SESSION['access']が正しく設定されますが、データを取得するためにページに再度データを送信すると、$ _ SESSION ['access']が設定解除され、ログインフォームが再度表示されます。

私は何が間違っているのですか?私はPHPにかなり慣れていません。

4

1 に答える 1

1

セッションにデータを明示的に保存する必要があります。session_startは読み取り/書き込み用のセッションを開きますが、明示的に行うまで、書き込まれた内容は保持されません。

http://www.php.net/manual/en/function.session-write-close.php

その機能を使用してください。

于 2010-11-01T02:31:22.180 に答える