php
  • html
  • 2017-01-04 1 views 1 likes 
    1

    그냥주의 사항 : 나는 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를 사용하고 언급하는 것을 잊었다.

    +0

    두 파일 모두에서 세션을 시작 하시겠습니까? –

    +0

    @RossWilson 오 .... 젠장. 세션을 시작하기 위해 컴퓨터 생성 코드를 편집하는 것을 잊었습니다. 나는 그런 바보 같은 기분이 든다. 분명한 사실을 지적 해 주셔서 감사합니다 ... –

    답변

    0

    꽤 복잡하기 때문에 page2.php (컴퓨터 생성)에서 세션을 시작하는 것을 잊어 버렸습니다. 이제 막 건너 뛰었을 것입니다. 그것을 지적한 RossWilson에게 감사드립니다.

    관련 문제