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

php 회원가입에서 회원등록실패를 했는데, DB테이블엔 저장되고 있습니다. 채택완료

qoqofh 4년 전 조회 1,913

</p>

<p>

<!DOCTYPE html></p>

<p><?

    $fuserid = $_POST['fuserid'];

    $fname = $_POST['fname'];

    $fpasswd = $_POST['fpasswd'];

    $fpasswd_re = $_POST['fpasswd_re'];

    $fsex = $_POST['fsex'];

    $femail = $_POST['femail'];

    $userip = $_SERVER['REMOTE_ADDR'];</p>

<p>    include "../data/connect_db.php";

    if($fuserid=="" || $fname=="" || $fpasswd == "" || $fpasswd_re == "" || $fpasswd!=$fpasswd_re) {

        echo "<script>

        alert('*필수 입력 사항은 반드시 입력해야 합니다. ..');

        history.back();

        </script>";

        die;

    }</p>

<p>    $sql = "select count(*) from user_tbl where userid='$fuserid'";

    $res = mysqli_query($connect,$sql);

    $rs = mysqli_fetch_row($res);

    $reg_num=$rs[0];</p>

<p>    if($reg_num>0){

        echo "<script>

        alert('[중복된 아이디]\r\n\r\n 다른 아이디를 선택하세요.');

        history.back();

        </script>";

        die;

    }</p>

<p>    $sql = "insert into user_tbl (userid, name, passwd, sex, email, date, ip_addr)";

    $sql.= "values ('$fuserid','$fname','$fpasswd','$fsex','$femail',now(),'$fuserip')";

    $res = mysqli_query($connect,$sql);

    $tot_row = mysqli_affected_rows();

    mysqli_close($connect);</p>

<p>    echo "등록 성공<hr />";

    echo "생성 레코드 = ".$tot_row."개";</p>

<p>    if($tot_row > 0){

        echo "<script charset='UTF-8'>

        alert('[등록성공]\\r\\n회원으로 등록되었습니다. ');

        location.replace('login_form.php');

        </script>";

    } else {

        echo "<script charset='UTF-8'>

        alert('[등록 실패]\\r\\n 회원으로 등록을 실패했습니다. ');

        history.back();

        </script>";

    }

?></p>

<p>

 

회원가입 폼을 만들어 보았는데, 실제 회원가입을 진행하면 alert('[등록 실패]\\r\\n 회원으로 등록을 실패했습니다. ');가 실행이 되는데, DB테이블에 들어가보니 생성은 되어있습니다......

 

코드상에 무엇이 문제인걸까요.,,,?

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

답변 2개

채택된 답변
+20 포인트

https://www.php.net/manual/en/mysqli.affected-rows.php

mysqli_affected_rows($link)

파라미터가 빠졌습니다.

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

답변에 대한 댓글 3개

q
qoqofh
4년 전
코드상에서 어떻게 넣어야할까요 ㅠㅠ?
q
qoqofh
4년 전
코드상에

$tot_row = mysqli_affected_rows();

이렇게 들어가있는것 같긴한데...
엑스엠엘
4년 전
$link대신에
$g5['connect_db']
를 쓸 수 있습니다.

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

4년 전

총갯수를 구하시는거라면  $tot_row = mysqli_num_rows($link);  를 활용하셔도 됩니다.

 

여튼 tot_row 에서 집계가 제대로 되지 않아 생긴 문제 같습니다.

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

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

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

로그인