>  기사  >  백엔드 개발  >  PHP의 로그인 페이지

PHP의 로그인 페이지

WBOY
WBOY원래의
2024-08-29 13:14:10513검색

매력적인 웹사이트에서 고객에게 계정 생성을 제안하지 않는 경우는 거의 없습니다. 이를 위해서는 신규 사용자가 스스로 등록하고 나중에 로그인하여 자신의 계정을 사용하여 웹사이트와 상호 작용할 수 있는 시설이 필요합니다. PHP는 기능적인 로그인 페이지를 신속하게 설정하는 데 충분한 유틸리티를 제공하며 필요할 때 나중에 확장할 수도 있습니다. 자격 증명을 요청하기 위해 기본 로그인 양식을 설정한 후 동일한 PHP 스크립트를 사용하여 자격 증명을 처리 및 검증하고 로그인 성공 시 해당 페이지로 리디렉션할 수 있습니다. 또한 로그인 프로세스를 완료한 사용자를 추적하기 위해 쿠키와 세션을 생성하고 저장하는 옵션도 제공합니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP에서 로그인 페이지는 어떻게 작동하나요?

PHP는 확장 가능한 상태 비저장 서버측 스크립팅 언어입니다. 양식을 제출하는 동안 사용된 메소드가 GET인지 POST인지에 따라 $_GET 또는 $_POST 배열에 저장하여 양식 데이터를 캡처할 수 있습니다. 일반적으로 보안상의 이유로 post 방법이 선호됩니다. 제출 시 이러한 배열은 입력 필드 이름으로 색인화되어 특정 값을 얻을 수 있습니다.

로그인 양식의 경우 자격 증명이 이러한 배열에 전달되고 저장되는데, 이는 대개 사용자 이름과 비밀번호 집합입니다. 요구 사항에 따라 사용자 이름과 비밀번호 조합을 PHP 코드 자체에서 직접 확인할 수 있거나 유효한 사용자 이름, 비밀번호 조합 세트를 조회할 수 있는 데이터베이스에 저장할 수 있습니다.

로그인 페이지 설정

다음 HTML 줄을 포함하는 Login.php 페이지를 만들어 보겠습니다.

코드:

<html>
<head>A sample login page</head>
<body>
<h2>Enter Login Information:</h2><br>
<form action="" method="post">
<label>Username : </label><input type="text" name="username" /><br/>
<label>Password : </label><input type="password" name="pwd" /><br/>
<input type="submit" value="Login" />
</form>
</body>
</html>

출력:

PHP의 로그인 페이지

이 줄은 사용자가 사용자 이름과 비밀번호라는 두 개의 필드를 입력해야 하는 매우 간단한 양식을 만듭니다. 이는 제출 버튼인 세 번째 입력을 제공하며 양식 데이터(예: 사용자 이름 및 비밀번호)가 양식 태그의 작업 속성에 언급된 위치로 전송되도록 합니다. 위에서는 비어 있으므로 양식 정보를 동일한 PHP 페이지로 전달합니다.

PHP에서 로그인 페이지를 만드는 방법

위 페이지는 실제로 사용자를 확인하거나 내부 웹페이지에 로그인하지 않은 정적 HTML 코드입니다. 그러기 위해서는 post 메소드 때문에 $_POST에 저장된 username 및 pwd 필드에 전달된 값을 처리해야 합니다.

따라서 다음을 사용하여 값이 존재하는지 확인할 수 있습니다.

코드:

<?php
$error = "";
if(isset($_POST['username']) && isset($_POST['pwd'])){
// check for validity
}
?>

두 입력이 실제로 존재하는지 확인하면 해당 값을 검증하고 적절한 시작 페이지로 사용자를 리디렉션할 수 있습니다.

위에 표시된 if 문 블록 내에 다음과 같은 간단한 코드를 삽입하면 이를 달성할 수 있습니다.

코드:

$username = $_POST['username'];
$password = $_POST['pwd'];
if($username == "admin" && $password == "l0G3In"){
header('location: Home.php');
}
else {
$error = "Invalid username or password!";
}

위의 줄을 사용하면 사용자가 유효한 자격 증명 세트를 제출하면 home.php에 대한 액세스가 허용됩니다. 그렇지 않으면 사용자에게 표시될 수 있는 오류 메시지가 저장됩니다.

세션

우리는 사용자가 요청할 때마다 반복적으로 로그인하는 것을 원하지 않습니다. 따라서 우리는 요청하는 페이지에 관계없이 로그인한 사용자를 추적해야 합니다. PHP에서 이를 달성하는 한 가지 방법은 세션을 사용하는 것입니다.

간단히 말하면, 세션은 페이지가 요청되면 클라이언트를 위해 일시적으로 저장되는 서버 측의 작은 정보입니다. PHP에서는 스크립트의 첫 번째 줄로 session_start() 함수를 호출하여 이를 수행합니다. 다음에 페이지에 액세스하면 session_start()는 새 세션을 생성하지 않고 이전에 시작된 세션 정보를 검색하여 특수 배열 $_SESSION에 저장합니다.

세션이 활성화된 동안 페이지 간에 전달되는 값은 일반 배열과 비슷한 방식으로 설정할 수 있으며 isset() 함수를 사용하여 배열 내에서 특정 값을 사용할 수 있는지 확인할 수 있습니다.

논의된 모든 내용을 종합하면 코드는 다음과 같습니다.

코드:



A sample login page

Enter Login Information:




출력:

PHP의 로그인 페이지

홈.php

이제 로그인이 필요한 다른 페이지에서는 세션 키 로그인이 설정되어 있는지 확인하면 됩니다. 그렇지 않은 경우 사용자는 로그인 페이지로 리디렉션될 수 있습니다. 그렇지 않으면 그는 비밀 내부 콘텐츠에 접근할 수 있습니다.

데모용으로 하나 만들어 보겠습니다.

코드:

<?php
session_start();
if(!isset($_SESSION["login"]) || $_SESSION["login"]!=True){
header('location: Login.php');
}
?>
<html>
<head>Welcome to User's Home Page</head>
<body>
<h2>Wishing you a good day!!</h2><br>
</body>
</html>

출력:

PHP의 로그인 페이지

위 코드는 먼저 session_start()를 호출하여 세션 세부 정보를 검색합니다. 그런 다음 로그인 프로세스를 완료한 사용자에 대해 세션이 여전히 활성 상태인지 확인합니다. 그렇지 않은 경우 사용자는 Login.php 페이지로 이동됩니다. 사용자가 성공적으로 로그인한 경우 나머지 콘텐츠를 사용할 수 있습니다.

결론

PHP에서 로그인 페이지를 만드는 것은 매우 쉽습니다. 여기서는 자격 증명을 스크립트에 직접 저장했지만 이상적으로는(가장 일반적으로) 데이터베이스나 키 관리자의 형태로 저장됩니다. 또한 여기서는 브라우저 측에 저장되는 세션을 사용했지만, 브라우저(클라이언트) 측에 저장되지만 신뢰성이 떨어지는 쿠키를 사용할 수도 있습니다.

위 내용은 PHP의 로그인 페이지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.