83 lines
2.3 KiB
PHP
83 lines
2.3 KiB
PHP
<?php
|
|
// Member Class file
|
|
|
|
class Member
|
|
{
|
|
// 멤버 변수, 프로퍼티
|
|
private $conn;
|
|
|
|
// 생성자
|
|
public function __construct($db)
|
|
{
|
|
$this->conn = $db; // PDO 객체 주입
|
|
}
|
|
|
|
// 아이디 중복체크용 멤버 함수, 메소드
|
|
public function id_exists($id)
|
|
{
|
|
$sql = "SELECT * FROM member WHERE id=:id";
|
|
$stmt = $this->conn->prepare($sql);
|
|
$stmt->bindParam(':id', $id);
|
|
$stmt->execute();
|
|
|
|
return $stmt->rowCount() ? true : false;
|
|
}
|
|
|
|
// 이메일 형식 체크
|
|
public function email_format_check($email)
|
|
{
|
|
return filter_var($email, FILTER_VALIDATE_EMAIL);
|
|
}
|
|
|
|
public function email_exists($email)
|
|
{
|
|
$sql = "SELECT * FROM member WHERE email=:email";
|
|
$stmt = $this->conn->prepare($sql);
|
|
$stmt->bindParam(':email', $email);
|
|
$stmt->execute();
|
|
|
|
return $stmt->rowCount() ? true : false;
|
|
}
|
|
|
|
// 회원 정보 입력
|
|
public function input($marr)
|
|
{
|
|
$sql = "INSERT INTO member(id, password, name, email, zipcode, addr1, addr2, photo, create_at, ip) VALUES (:id, :password, :name, :email, :zipcode, :addr1, :addr2, :photo, NOW(), :ip)";
|
|
$stmt = $this->conn->prepare($sql);
|
|
$stmt->bindParam(':id', $marr['id']);
|
|
$stmt->bindParam(':password', $marr['password']);
|
|
$stmt->bindParam(':name', $marr['name']);
|
|
$stmt->bindParam(':email', $marr['email']);
|
|
$stmt->bindParam(':zipcode', $marr['zipcode']);
|
|
$stmt->bindParam(':addr1', $marr['addr1']);
|
|
$stmt->bindParam(':addr2', $marr['addr2']);
|
|
$stmt->bindParam(':photo', $marr['photo']);
|
|
$stmt->bindParam(':ip', $_SERVER['REMOTE_ADDR']);
|
|
|
|
$stmt->execute();
|
|
}
|
|
|
|
// 로그인
|
|
public function login($id, $pw)
|
|
{
|
|
// 아이디로 회원 정보 조회
|
|
$sql = "SELECT * FROM member WHERE id = :id LIMIT 1";
|
|
$stmt = $this->conn->prepare($sql);
|
|
$stmt->bindParam(':id', $id);
|
|
$stmt->execute();
|
|
|
|
$member = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$member) {
|
|
return false; // 아이디 없음
|
|
}
|
|
|
|
// 입력 비밀번호 vs DB 해시 비교
|
|
if (password_verify($pw, $member['password'])) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|