현재 위치: > 최신 기사 목록> Header () + session_start ()를 사용하여 로그인 점프를 수행하십시오

Header () + session_start ()를 사용하여 로그인 점프를 수행하십시오

M66 2025-06-02

웹 개발에서 사용자 로그인 후 페이지 리디렉션은 매우 일반적인 기능입니다. PHP를 사용하면 Session_Start () 를 통해 사용자의 로그인 상태를 관리 한 다음 Header () 함수를 결합하여 페이지 리디렉션을 실현할 수 있습니다. 이 기사는이 기능을 단계별로 구현하는 방법을 설명합니다.

1. 세션과 헤더를 이해하십시오

  • session_start ()
    session_start ()는 세션을 시작하는 데 PHP에서 사용되는 메소드입니다. 여러 요청에서 동일한 사용자를 식별하기 위해 사용자 이름, 사용자 ID 등과 같은 서버 측의 사용자 정보를 저장합니다.

  • 헤더 ()
    Header () 는 PHP가 원시 HTTP 헤더 정보를 보내는 데 사용되는 기능입니다. 일반적인 용도 중 하나는 브라우저가 다른 페이지로 점프 할 수있는 위치 헤더를 보내는 것입니다.

주목해야합니다 :

  • 공백 또는 HTML을 포함한 모든 것을 출력하기 전에 Header ()를 호출해야합니다.

  • Session_start () 도 출력 전에 호출해야합니다.

2. 구현 단계

간단한 로그인 양식이 있다고 가정하고 성공적으로 로그인 한 후 사용자의 개인 홈페이지로 이동해야합니다.

로그인 양식 페이지 (login.php)

 <?php
// 열려 있는 session
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>사용자 로그인</title>
</head>
<body>
<form method="post" action="login_process.php">
    사용자 이름: <input type="text" name="username"><br>
    비밀번호: <input type="password" name="password"><br>
    <input type="submit" value="로그인하십시오">
</form>
</body>
</html>

로그인 처리 페이지 (login_process.php)

 <?php
session_start();

// 模拟的사용자 이름和비밀번호
$correct_username = 'admin';
$correct_password = '123456';

// 제출 된 데이터를 얻으십시오
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';

// 检查사용자 이름和비밀번호是否正确
if ($username === $correct_username && $password === $correct_password) {
    // 로그인하십시오成功,설정 session
    $_SESSION['username'] = $username;

    // 사용자 홈페이지로 이동하십시오
    header('Location: https://m66.net/user_home.php');
    exit;
} else {
    // 로그인하십시오失败,跳转回로그인하십시오页
    header('Location: https://m66.net/login.php?error=1');
    exit;
}
?>

사용자 홈페이지 (user_home.php)

 <?php
session_start();

// 检查是否已로그인하십시오
if (!isset($_SESSION['username'])) {
    // 如果没有로그인하십시오,跳转到로그인하십시오页面
    header('Location: https://m66.net/login.php');
    exit;
}

$username = $_SESSION['username'];
?>
<!DOCTYPE html>
<html>
<head>
    <title>환영,<?php echo htmlspecialchars($username); ?></title>
</head>
<body>
<h1>환영回来,<?php echo htmlspecialchars($username); ?>!</h1>
<p><a href="logout.php">退出로그인하십시오</a></p>
</body>
</html>

로그 아웃 페이지 (logout.php)

 <?php
session_start();
session_unset();
session_destroy();

// 跳转回로그인하십시오页面
header('Location: https://m66.net/login.php');
exit;
?>

3. 주목할만한 것들

  • 출력 전에 header () 및 session_start ()를 호출하십시오
    페이지에 출력이있는 한 (HTML, 공백, 라인 브레이크 등)가있는 한 Header ()Session_Start () 가 오류를보고합니다. 파일 상단에서 호출되어 있는지 확인하십시오.

  • 보안 <br> 예제 코드에서 사용자 이름과 비밀번호는 사망했습니다. 실제 프로젝트에서는 데이터베이스에서 검색하고 암호화를 사용해야합니다 (예 : Password_hash ()Password_Verify () ).

  • 로그 아웃 <br> 종료 할 때 세션을 정리하십시오. 그렇지 않으면 로그인 페이지로 돌아가는 경우에도 사용자 상태가 여전히 존재합니다.