내 세션이 저장되지 않은 것 같습니다. 세션으로 사용자 ID를 저장하는 로그인 페이지가 있습니다. 그러나 페이지를 닫고 다른 페이지를 클릭하면 세션이 저장되지 않습니다.세션 및 포함 된 페이지
내 코드는 다음과 같습니다.
<?php
if(!isset($_SESSION)){
session_start();
}
?>
<!DOCTYPE html> <HTML> <HEAD> </HEAD> <BODY>
<?php
$page_content = 'startpage.php';
if (isset($_GET['link']) && !empty($_GET['link'])) {
$page_content = $_GET['link'];
}
include "$page_content";
include 'menu.php';
include 'footer.php';
?>
내가 admin.php 불리는이 페이지를 사용하여 로그인 : 나는 메인 페이지는 다음과 같이 인덱스 .PHP라고합니다. 이 페이지에는 loggin 코드가 있습니다. 사용자가 마우스 오른쪽 사용자 이름과 암호를 작성했습니다 경우 이 발생합니다
는$_SESSION['user_id'] = $user_id;
print_r($_SESSION);
위의 코드는 현재의 세션 변수를 보여줍니다. 그러나 다른 페이지를 한 번 클릭하면 변수가 비어있게됩니다. index.php를 하단에서
는 footer.php 페이지가 포함되어 있으며, 그것은 다음과 같습니다<?php
if(!isset($_SESSION['user_id'])){
echo "The sessions are not initiated. ";
}
if (empty ($_SESSION['user_id'])) {
echo "The sessions are empty. ";
}
echo "<a href='index.php?link=admin.php'>Administration</a>";
?>
질문 세션을 확인하는 경우에 나는 두 넣어 가지고이 글에서. 로그인 한 후 다른 페이지를 클릭하면 if 세션에서 비어있는 세션이 시작되었음을 알 수 있습니다.
세션을 어떻게 작동시켜야합니까?
아마도 MySql을 사용하는 대여 데이터베이스를 사용해야한다고 덧붙여 야합니다. 당신이 $_SESSION
를 사용하기 전에
곳입니다 그렇지 않으면 제대로 작동하지 않습니다 페이지에 출력 할 아무것도하기 전에 호출해야합니다 session_start()의? – Drewdin
내 메인 페이지에 있습니다 : index.php. 어떻게 든 그것은 내 질문에 보이지 않았다. – Olof84