[Normaltic's 취업반 과제] 회원가입 시 ID 중복 확인

2024. 4. 29. 11:26정보보안 및 해킹/Normaltic's 취업반 과제

sign_up_func.php - 사용자가 입력한 ID를 통해 쿼리문으로 DB에 같은 ID가 존재하는지 파악, 있으면 true로, 없으면 false를 return

[생략]

function check_user_id_exist($username)
{
  if (!connect_db()) 
  {
    die("Connection failed: " . mysqli_connect_error());
}
  $table_name = "rame_table";
  $sql_query = "SELECT * FROM $table_name WHERE name='$username'";
  $sql_res = mysqli_query(connect_db(), $sql_query);
  $sql_row = mysqli_fetch_array( $sql_res);

  return $sql_row['name'];
  //존재하면 true
  //존재하지 않으면 false
 
}

[생략]

sign_up.php - ID 중복 확인 버튼을 통해 이미 같은  ID가 존재하는지 확인하는 조건 추가 + 만약에 중복확인을 하지 않고 sign up버튼을 클릭한 경우에도 확인 절차를 밟음

[생략]

function check_id()
{
  $id_is_exist = check_user_id_exist($_POST['createid']);

        if ($id_is_exist) {
          echo '사용 불가능한 아이디입니다.';
        } else {
          echo '사용 가능한 아이디입니다.';
        }
}

[생략]

<button class="submit-button" name="checkidisunique" value="checkid"> ID 중복확인 </button> <br>

[생략]

if (isset($_POST['checkidisunique'])) {
        check_id();
      }

      if (isset($_POST['createaddress'])) {
      
        check_id();
        if (
          (check_sign_up_values($_POST['createid']) && !(check_user_id_exist($_POST['createid']))) &&
          check_sign_up_values($_POST['createpassword']) &&
          check_sign_up_values($_POST['createage']) &&
          check_sign_up_values($_POST['createemail']) &&
          check_sign_up_values($_POST['createphone'])
        ) {
          try_signup($_POST['createid'], $_POST['createpassword'], $_POST['createage'], $_POST['createemail'], $_POST['createphone']);
        }

      }
      
      [생략]