セッションを開始し、いくつかのセッション変数を設定する controller/controller.php ファイルがあります。次に、model/model.php ファイルを「インクルード」し、関数を呼び出してロードします。
model.php ファイルで controller.php ファイルのセッション変数を使用しようとすると、多くのエラーが発生します: Undefined variable: _SESSION エラー。
controller.php ファイルでセッション変数を設定する例を次に示します。
$_SESSION['userName'] = 'some data'
model.php ファイルで、次のコードで取得しようとしています。
print($_SESSION['userName']);
私は何を間違っていますか?
編集
私のcontroller.phpファイルコード:
<?PHP
session_start();
if (isset($_POST['Login'])) {
$_SESSION['pointsForQuestion'] = '1';
$_SESSION['userName'] = $_POST['txtUsername'];
if(!is_file($_SESSION['userName'].".txt"))
{
writeUserDetails($_SESSION['userName'],"1","0");
$_SESSION['currentLevel'] = "1";
$_SESSION['score'] = "0";
} else {
readUserDetails($_SESSION['userName']);
}
print('logged in');
include('../model/model.php');
print page_load();
}
function writeUserDetails($username,$level,$score) {
$fh = fopen($username.".txt", 'w') or die("can't open file");
fwrite($fh, $level.",".$score);
fclose($fh);
}
function readUserDetails($username) {
$userDetails = explode(',', file_get_contents($username.".txt"));
$_SESSION['currentLevel'] = $userDetails[0];
$_SESSION['score'] = $userDetails[1];
}
?>