>  기사  >  백엔드 개발  >  PHP mysql에서 사용자 이름 확인을 구현하는 방법

PHP mysql에서 사용자 이름 확인을 구현하는 방법

PHPz
PHPz원래의
2023-04-19 11:36:17764검색

웹사이트 개발 과정에서 사용자 로그인 시스템은 매우 일반적인 기능입니다. 중요한 단계 중 하나는 사용자가 입력한 사용자 이름과 비밀번호가 일치하는지 확인하여 사용자가 시스템에 들어가기 전에 올바른 정보를 입력했는지 확인하는 것입니다.

이 글에서는 PHP와 MySQL을 사용하여 사용자 이름 확인 기능을 구현하는 방법을 소개합니다.

  1. 데이터베이스 및 사용자 테이블 생성

먼저 MySQL에 데이터베이스를 생성하고 그 안에 사용자 테이블을 생성해야 합니다. 이 사용자 테이블에는 다음 필드를 포함해야 합니다.

  • id: 사용자 ID, 자체 증가.
  • 사용자 이름: 사용자 이름, 고유합니다.
  • password: 사용자 비밀번호, 암호화 후 저장됩니다.
  • created_at: 생성 시간, 사용자 등록 시간을 기록합니다.

다음 SQL 문을 사용하여 이 사용자 테이블을 생성할 수 있습니다:

CREATE DATABASE test;
USE test;
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL UNIQUE ,
비밀번호 VARCHAR(255) NOT NULL,
Created_at DATETIME NOT NULL,
PRIMARY KEY (id)
);

  1. PHP 코드 작성

다음으로 MySQL 데이터베이스에 연결하고 확인하기 위한 PHP 코드를 작성해야 합니다. 사용자 이름과 비밀번호. 다음은 간단한 PHP 코드 예입니다.

//MySQL 데이터베이스 연결 정보
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";

// MySQL 연결 만들기
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("연결 실패: " . $conn->connect_error);
}

// POST 매개변수에서 사용자 이름과 비밀번호를 가져옵니다
$username = $_POST["username"];
$password = $_POST["password"];

/ / 사용자 이름 및 비밀번호 확인
$sql = "SELECT * FROM users WHERE username='{$username}'";
$result = $conn->query($sql);

if ($result-> ;num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row["password"])) {

echo "登录成功";

} else {

echo "密码不正确";

}
} else {
echo "사용자 이름이 존재하지 않습니다";
}

$conn->close();
?>

위 PHP 코드의 주요 프로세스는 다음과 같습니다.

  1. 연결을 위한 MySQL 데이터베이스 연결 설정 MySQL 데이터를 운영하고 있습니다. 여기에는 MySQL 연결의 서버 주소, 사용자 이름, 비밀번호 및 데이터베이스 이름을 지정하는 데 사용되는 $servername, $username, $password 및 $dbname의 네 가지 연결 매개변수가 포함되어 있습니다.
  2. 사용자 이름과 비밀번호를 포함하여 사용자가 제출한 POST 매개변수를 가져옵니다.
  3. SQL SELECT 문을 사용하여 사용자 테이블에 사용자 이름과 일치하는 레코드가 있는지 쿼리합니다. 일치에 성공하면, 사용자가 입력한 비밀번호가 데이터베이스에 저장된 비밀번호와 일치하는지 확인하기 위해 Password_verify 함수를 사용합니다. 여기서 주목해야 할 점은 보안을 강화하기 위해 사용자 등록 시 데이터베이스에 저장하기 전에 사용자 비밀번호를 비밀번호_해시(password_hash) 함수를 사용하여 암호화해야 한다는 점입니다.
  4. 인증에 성공하면 사용자에게 "로그인 성공"이 출력됩니다. 그렇지 않으면 확인 오류에 따라 "비밀번호가 올바르지 않습니다." 또는 "사용자 이름이 존재하지 않습니다."가 출력됩니다.
  5. 사용자 등록 페이지 만들기

사용자 등록 프로세스를 단순화하고 데이터베이스에 새 사용자 레코드를 추가하기 위해 사용자 등록 페이지를 만들 수 있습니다. 이 페이지에서는 사용자에게 사용자 이름과 비밀번호를 입력하도록 요청하고 이 정보를 POST 메서드를 통해 이전에 작성한 PHP 코드에 전달합니다.

다음은 간단한 사용자 등록 페이지의 예입니다:



사용자 등록 페이지


< ; h1>사용자 등록

<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="注册">



at 위 코드에서는

태그를 사용하여 등록 과정에서 사용자가 입력한 사용자 이름과 비밀번호를 수집하는 양식을 만듭니다. 그 중 사용자 이름은 텍스트 상자를 이용하여 입력하고, 비밀번호는 비밀번호 상자를 이용하여 입력합니다.

  1. 요약

이 글에서는 PHP와 MySQL을 사용하여 사용자 이름 확인 기능을 구현하는 방법을 소개했습니다. 먼저 MySQL 데이터베이스와 사용자 테이블을 생성하고 각 사용자 기록에 대해 고유한 사용자 이름과 암호화된 비밀번호를 생성했습니다. 그런 다음 MySQL 데이터베이스에 연결하고 사용자가 입력한 사용자 이름과 비밀번호가 일치하는지 확인하는 PHP 코드를 작성했습니다. 마지막으로 사용자가 사용자 정의 양식으로 새 계정을 등록할 수 있는 사용자 등록 페이지를 만들었습니다.

위 내용이 이 글에서 소개한 내용이 사용자 인증 기능 구현에 도움이 되기를 바랍니다.

위 내용은 PHP mysql에서 사용자 이름 확인을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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