PHP 는 session 으로 사용자 로그 인 정 보 를 기록 합 니 다.

PHP 에서 session 은 사용자 의 로그 인 정 보 를 기록 하 는 문제 이자 PHP 면접 문제 에서 흔히 볼 수 있 는 시험 점 중 하나 로 PHP 학습자 가 반드시 파악 해 야 할 지식 이다.
처음 입문 한 PHP 초보 자 들 에 게 는 어 려 울 수 있 습 니 다.그러면 이전 글[PHP 에서 session 이 변 수 를 어떻게 저장 하고 삭제 하 는 지]에서 도 PHP 에서 session 의 기본 적 인 의 미 를 소개 하 였 으 므 로 필요 한 분 들 은 참고 하 시기 바 랍 니 다.
다음은 구체 적 인 코드 예 시 를 통 해 PHP 에서 session 이 사용자 로그 인 정 보 를 기록 하 는 구체 적 인 방법 을 상세 하 게 소개 합 니 다.
1.간단 한 로그 인 인터페이스 코드 예시:
login.html

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>  </title>
 <style type="text/css">
  body {
   background: url(images/bg.png);
  }
 
  .clear {
   clear: both;
  }
 
  .login {
   width: 370px;
   margin: 100px auto 0px;
   text-align: center;
  }
 
  input[type="text"] {
   width: 360px;
   height: 50px;
   border: none;
   background: #fff;
   border-radius: 10px;
   margin: 5px auto;
   padding-left: 10px;
   color: #745A74;
   font-size: 15px;
  }
 
  input[type="checkbox"] {
   float: left;
   margin: 5px 0px 0px;
  }
 
  span {
   float: left;
  }
 
  .botton {
   width: 130px;
   height: 40px;
   background: #745A74;
   border-radius: 10px;
   text-align: center;
   color: #fff;
   margin-top: 30px;
   line-height: 40px;
  }
 </style>
</head>
<body>
<div class="login">
 <form action="check.php" method="post">
  <img src="images/header.png"><br>
  <input type="text" name="username" placeholder="      !" value=""><br>
  <input type="text" name="password" placeholder="     !" value=""><br>
  <input type="submit" class="botton" value="login">
 </form>
 <div class="clear"></div>
</div>
</body>
 
</html>
2.데이터베이스 연결 을 위 한 간단 한 PHP 파일 코드 예시:
db.php

<?php
 
$dbName = 'demo';
$host = '127.0.0.1';
$user = 'root';
$password = 'root';
 
$dsn = "mysql:host=$host;dbname=$dbName";
$pdo = new PDO($dsn, $user, $password);
 
function sql($table, $field = '*', $where = '')
{
 global $pdo;
 $sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where;
 $data = $pdo->query($sql)->fetch();
 return $data;
}
데이터베이스 시트 의 필드 를 조회 하고 데 이 터 를 되 돌려 주 는 sql 방법 을 정의 합 니 다.
그러면 초보 자가 PHP 로 데이터 베 이 스 를 연결 하 는 방법 을 잘 모 르 면 이 글[PHP 로 Mysql 데이터 베 이 스 를 어떻게 연결 하 는 지]를 참고 할 수 있 습 니 다.
3.사용자 로그 인 정 보 를 검사 하 는 코드 예제:
check.php

<?php
session_start();
include "db.php";
@$name = $_POST['username'];
@$pas = $_POST['password'];
 
$row = sql('user', '*', "username = '$name'");
if (!$row) {
 return "      !      ~~";
}
 
if ($row['password'] == $pas) {
 $_SESSION['username'] = "$name";
 echo "<script>
 alert('    !    ...')
</script>";
 echo "<a href='index.php'>           ~~</a>";
 header("Refresh:1;url=index.php");
}
여기 서 우 리 는 session 을 열 고 include 로 데이터 베 이 스 를 도입 한 다음 에 if 구문 으로 제출 한 데 이 터 를 판단 하고 사용자 이름 을 session 에 제출 하여 기록 해 야 합 니 다.즉,사용자 이름 비밀번호 가 존재 하 는 지,일치 하 는 지 여 부 를 판단 하 는 것 입 니 다.
4.로그 인 성공 후 이동 하 는 페이지 코드 예시:
index.php

<?php
echo "<h1>     </h1>";
session_start();
$name = $_SESSION['username'];
if ($name) {
 echo "<script>
  alert(\"   $name ,    !!\");
</script>";
}else{
 echo "<script>
 alert('      !     ~~')
</script>";
 echo "<a href='index.php'>           ~~</a>";
 header("Refresh:1;url=login.html");
}
그러면 상기 코드 login.html,db.php,check.php 와 index.php 는 사용자 로그 인 정 보 를 간단하게 session 으로 기록 하 는 프로그램 입 니 다.
저 희 는 브 라 우 저 방문 을 통 해 테스트 를 할 수 있 습 니 다.먼저 login 로그 인 인터페이스 에서 사용자 이름 비밀 번 호 를 입력 할 수 있 습 니 다.효 과 는 다음 그림 과 같 습 니 다.

login 로그 인 을 누 르 면 check.php 로 이동 합 니 다.

클릭 하여 확인

점프 에 실패 하면 위의 그림 에서 링크 를 클릭 하고 점프 에 성공 하면 index.php 홈 페이지 로 바로 이동 하여 다음 그림 을 표시 합 니 다.


이 글 은 PHP 에서 session 을 통 해 사용자 로그 인 정 보 를 기록 하 는 구체 적 인 방법 에 대한 소개 입 니 다.참고 가치 가 있 으 므 로 필요 한 친구 에 게 도움 이 되 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기