그냥주의 사항 : 나는 HTML/CSS/PHP와 MySQL을 뒤범벅하고있다. 나는 아직 보안을 염두에두고 있지 않습니다.HTML - 두 개의 동일한 코드가 서로 다른 출력을 실행합니까?
두 파일이 있는데, 첫 번째 파일은 page1.php이고 두 번째 파일은 page2.php입니다.
if (isset($_SESSION["loggedin"])){
echo "<li class='navbar-button' id='right-status'><a>Logged in as admin</a></li>\n";
echo "<li class='navbar-button' id='right-change'><a href='logout.php'>Log Out</a></li>\n";
} else {
echo "<li class='navbar-button' id='right-change'><a href='login.html'>Log In</a></li>";
}
그것이 않는 경우가 "관리자로 로그인을 보여줍니다, 'loggedin'라는 이름의 현재 세션 데이터가 존재하는지 여부를 확인 : 매우 간단, 둘은 약간의 PHP 코드를 가진 네비게이션 바이 - 로그 아웃 "을 선택하십시오. 이 세션 데이터를 찾을 수 없으면 탐색 모음에 "로그인"이 표시됩니다. page1.php를로드 할 때 navbar에 "admin - Log Out으로 로그인 됨"이 표시되지만, page2.php를로드하면 "로그인"이 표시됩니다. 이것들은 모두 이 동일하고 코드이고 i 왜 다른 결과를 산출하는지 모르겠습니다. 관련이 있는지 확실하지 않지만 page2.php는 page1.php와 같은 폴더에 저장되지 않습니다. Page1.php의 디렉토리는 /page1.php입니다. Page2.php의 디렉토리는 /folder/page2.php입니다.
질문 1 : PHP 세션은 웹 사이트 전체의 모든 단일 파일/폴더에 데이터를 전역으로 저장합니까? 아니면 루트 폴더에 있습니까?
질문 2 : 내 코드가 다른 답변을주는 이유는 무엇입니까?
미리 감사드립니다.
:
편집 :
죄송이 page2.php 컴퓨터 생성 PHP를 사용하고 언급하는 것을 잊었다.
두 파일 모두에서 세션을 시작 하시겠습니까? –
@RossWilson 오 .... 젠장. 세션을 시작하기 위해 컴퓨터 생성 코드를 편집하는 것을 잊었습니다. 나는 그런 바보 같은 기분이 든다. 분명한 사실을 지적 해 주셔서 감사합니다 ... –