현재 위치: > 최신 기사 목록> 로그인 상태를 판단한 다음 isset ()로 리디렉션하는 완전한 프로세스

로그인 상태를 판단한 다음 isset ()로 리디렉션하는 완전한 프로세스

M66 2025-05-28

로그인 검증은 웹 개발에서 일반적인 요구 사항입니다. 사용자가보기를 위해 로그인 해야하는 페이지를 방문하면 일반적으로 사용자가 로그인했는지 여부를 결정하고 판단 결과에 따라 해당 처리를 수행해야합니다. 사용자가 로그인되지 않은 경우 로그인 페이지로 리디렉션해야합니다. 현재 PHP에서 헤더 기능과 ISSET () 함수의 조합은 매우 실용적인 도구입니다.

이 기사에서는 Header () 함수 및 isset () 을 사용하여 로그인 상태를 결정하고 전체 리디렉션 프로세스를 수행하는 방법을 자세히 설명합니다.

1. Header () 함수 및 isset () 함수를 이해하십시오

1.1 Header () 함수

헤더 () 함수는 원래 HTTP 헤더 정보를 보내는 데 사용됩니다. 이 기능을 통해 HTTP 상태 코드, 컨텐츠 유형, 캐시 제어 및 기타 정보를 설정할 수 있으며 페이지 리디렉션을 수행 할 수도 있습니다.

일반적인 사용법은 다음과 같습니다.

 header("Location: http://www.m66.net/login.php");
exit;

위의 코드는 브라우저를 http://www.m66.net/login.php 로 리디렉션합니다. 출구; 후속 코드의 간섭을 피하기 위해 리디렉션 후 스크립트가 실행을 중지하는지 확인하는 것입니다.

1.2 isset () 함수

ISSET () 함수는 변수가 설정되었고 그 값이 null 이 아닌지를 감지하는 데 사용됩니다. 사용자가 로그인되었는지 또는 양식 필드가 제출되었는지 여부를 결정하는 데 종종 사용됩니다.

 if (isset($_SESSION['user_id'])) {
    // 사용자 로그인
}

2. 로그인 상태를 판단하기위한 기본 아이디어

PHP에서 로그인 상태는 일반적으로 세션을 통해 유지됩니다. 사용자가 로그인하면 user_id 와 같은 세션에서 사용자의 관련 정보를 저장합니다. 사용자의 로그인 상태를 확인 해야하는 페이지에서 ISSET ()를 사용하여 세션 변수가 존재하는지 확인할 수 있습니다. 존재하는 경우 사용자가 로그인되었음을 의미합니다. 존재하지 않으면 사용자가 로그인되지 않고 리디렉션이 필요하다는 것을 의미합니다.

3. 로그인 상태 확인 및 리디렉션 프로세스를 완료하십시오

3.1 세션 초기화

먼저 페이지 상단에서 세션을 시작하십시오. Session_Start ()를 사용하여 세션을 시작할 수 있습니다. 이 기능은 출력 전에 호출해야합니다.

 <?php
session_start();
?>

3.2 사용자가 로그인되어 있는지 확인하십시오

다음으로 isset ()을 사용하여 사용자의 로그인 상태를 결정할 수 있습니다. 세션에서 user_id를 저장한다고 가정 해 봅시다.

 <?php
if (!isset($_SESSION['user_id'])) {
    // 사용자가 로그인하지 않았습니다,로그인 페이지로 리디렉션합니다
    header("Location: http://www.m66.net/login.php");
    exit;
}
?>

위의 코드는 로그인 상태 확인을 구현합니다. $ _session [ 'user_id']가 존재하지 않으면 (즉, 사용자가 로그인되지 않음) 로그인 페이지로의 페이지 리디렉션을 위해 Header ()가 실행됩니다.

3.3 로그인 페이지 처리

이미 로그인 된 사용자의 경우 대상 페이지에 액세스하거나 환영 정보를 표시 할 수 있습니다.

 <?php
if (isset($_SESSION['user_id'])) {
    echo "환영,사용자 " . $_SESSION['user_id'];
}
?>

3.4 포괄적 인 예

다음은 Header ()Isset ()을 결합하여 로그인 상태를 결정하고 리디렉션하는 방법을 보여주는 완전한 예입니다.

 <?php
session_start(); // 세션을 시작하십시오

// 判断사용자是否登录
if (!isset($_SESSION['user_id'])) {
    // 如果사용자没有登录,로그인 페이지로 이동하십시오
    header("Location: http://www.m66.net/login.php");
    exit; // 리디렉션 후 후속 코드 실행을 중지하십시오
}

// 사용자已经登录,显示환영信息
echo "환영您," . $_SESSION['user_id'] . "!";
?>

4. 주목할만한 것들

  • 출력 전에 헤더 () 함수를 호출해야합니다 . 헤더 ()는 HTTP 헤더 정보를 수정하는 데 사용되므로 헤더 ()을 호출하기 전에 출력 (HTML 태그, 공백, 에코, 인쇄 등)이있을 수 없습니다. 이미 출력이있는 경우 PHP는 "헤더 정보를 수정할 수 없습니다 - 이미 전송 된 헤더"는 오류를보고합니다.

  • 종료 기능 : 헤더를 호출 한 후 ( "위치 : ...") , 종료; 후속 코드가 계속 실행되는 것을 방지하기 위해 즉시 사용해야하며, 리디렉션이 다른 작업에 의해 방해되지 않도록합니다.

  • 세션 관리 : 세션 데이터의 정확성을 보장하기 위해 각 페이지는 Session_start ()를 사용하여 세션을 시작해야합니다. 페이지에 로그인 상태를 결정 해야하는 여러 장소가있는 경우 로그인 판단 코드를 별도의 PHP 파일로 추출하여 포함하여 포함시킬 수 있습니다.

5. 요약

이 기사에서는 PHP에서 Header () 함수 및 isset () 함수를 사용하여 로그인 상태를 결정하고 페이지 리디렉션을 수행하는 방법을 소개합니다. 세션을 통해 로그인 정보를 저장하고 isset ()를 통해 존재하는지 확인하십시오. Header () 함수로 작업을 리디렉션하면 사용자 액세스 권한을 효과적으로 제어하고 로그인 한 사용자 만 제한된 컨텐츠에 액세스 할 수 있습니다.

이 방법은 로그인 확인이 필요한 대부분의 웹 응용 프로그램 시나리오에 적합합니다. 이 기사가 도움이되기를 바랍니다.