테스트 사이트 - 개발 중인 베타 버전입니다

mysql 쿼리질문 채택완료

akworjs 6년 전 조회 2,342

</p>

<p>$sql = " SELECT * FROM VendingMachine WHERE user_id = '$user_id' AND user_pw = PASSWORD('$user_pw') "; // 회원 테이블에서 해당 아이디가 존재하는지 체크

$result = mysqli_query($conn, $sql);

$mb = mysqli_fetch_assoc($result);</p>

<p>if (!$mb['user_id']) { // 존재하는 아이디인지, 입력한 패스워드가 회원 테이블에 저장된 패스워드와 동일한지 체크

    echo "<script>alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');</script>";

    echo "<script>location.replace('./index.php');</script>";

    exit;

}</p>

<p>

 

이렇게 일단 해두었는데 자꾸 비밀번호가 틀리다고 나옵니다. 어디를 수정해야되는건가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
6년 전

위의 코드만 보면 user_id 만체크하네요..

 

if문안에서..

 

$mb['user_id'] 를 찍어 보세요..  이것이 false가 되니 없다고 나오는 것 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$sql = " SELECT * FROM VendingMachine WHERE user_id = '$user_id' AND user_pw = '$user_pw' "; // 회원 테이블에서 해당 아이디가 존재하는지 체크
$result = mysqli_query($conn, $sql);
$mb = mysql_num_rows($result);
if ($mb == 0) {
   ?> <script>alert("가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.");
</script> <?
    echo "<script>location.replace('./index.php');</script>";
    exit;
}

이렇게 해보세요. 될겁니다. 쿼리자체를 잘못쓰신듯

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

$result = mysqli_query($conn, $sql);

$mb = mysqli_fetch_assoc($result);

if(!$result){ // 결과값이 없으면
    error("query error");
    exit;
}

if(!$mb){ // ID값이 없으면
    error("id not found");
    exit;
}else{ // id 값이 존재하면
   if($mb['user_pw'] == $input_pw){ // 비밀번호 검사
    // 로그인 성공시 할 일
   }

   else{

    // 비밀번호 틀릴 경우
   }

}

이렇게 해보세요 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

razogol
6년 전

그노보드루트/data/dbconfig.php

 


if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', '유저');
define('G5_MYSQL_PASSWORD', '비번');
define('G5_MYSQL_DB', '디비');

 

유저 비번 디비를 수정해주세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

a
akworjs
6년 전
그누보드소스가 아니라 직접 로그인 부분만들고있는것이라...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인