채택완료

$wr_id = mysql_insert_id(); 글삭제 안됌문의입니다.

2017-09-27 (수) 19:42:25 3,907

사용스킨 : https://sir.kr/g5_skin/3926#c_12943

Copy
<?include_once("./common.php");include_once("./lib/mailer.lib.php");ob_start();include_once ("./bbs/write_update_mail.php");$content = ob_get_contents();ob_end_clean();$bo_table = "sub1";$write_table = $g5['write_prefix'] . $bo_table;$wr_num = get_next_num($write_table);$wr_reply = "";$wr_subject = "{$_POST[wr_name]}님의 문의 신청 입니다.";//$secret = "secret";    $sql = " insert into $write_table                set wr_num = '$wr_num',                     wr_reply = '$wr_reply',                     wr_comment = 0,                     ca_name = '$ca_name',                     wr_option = '$html,$secret,$mail',                     wr_subject = '$wr_subject',                     wr_content = '$wr_content',                     wr_link1 = '$wr_link1',                     wr_link2 = '$wr_link2',                     wr_link1_hit = 0,                     wr_link2_hit = 0,                     wr_hit = 0,                     wr_good = 0,                     wr_nogood = 0,                     mb_id = '{$member['mb_id']}',                     wr_password = '$wr_password',                     wr_name = '$wr_name',                     wr_email = '$wr_email',                     wr_homepage = '$wr_homepage',                     wr_datetime = '".G5_TIME_YMDHIS."',                     wr_last = '".G5_TIME_YMDHIS."',                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',                     wr_1 = '$wr_1',                     wr_2 = '$wr_2',                     wr_3 = '$wr_3',                     wr_4 = '$wr_4',                     wr_5 = '$wr_5',                     wr_6 = '$wr_6',                     wr_7 = '$wr_7',                     wr_8 = '$wr_8',                     wr_9 = '$wr_9',                     wr_10 = '$wr_10' ";    sql_query($sql);$wr_id = mysql_insert_id();// 부모 아이디에 UPDATEsql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");// 새글 INSERTsql_query(" insert into $g5[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");// 게시글 1 증가sql_query("update $g5[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");$super_admin = get_admin("super");$wr_email = $super_admin[mb_email];mailer($wr_name, $wr_email, $super_admin[mb_email], $wr_subject, $content, 1);alert("상담글이 등록되었습니다.","index.php");?>

다른데선 $wr_id = mysql_insert_id(); 를 $wr_id = sql_insert_id(); 이렇게 바꾸면 잘됐었는데 

현재 작업중인 페이지에선 위코드를 바꾸고 서브밋 누르면 '페이지가 작동하지 않습니다' HTTP ERROR 500 에러가뜹니다(글은 써집니다.)


$wr_id = mysql_insert_id() 사용시에 글삭제 버튼이 먹통이돼서 db에서 삭제해야 삭제가 됍니다.. 


해결방법 부탁드립니다..

|

답변 3개 / 댓글 6개

채택된 답변
+20 포인트
2017-09-27 (수) 20:33:08
Copy
<?phpinclude_once("./common.php"); //경로 디렉토리 잘 맞춰주세요include_once(G5_LIB_PATH."/mailer.lib.php");ob_start();include_once (G5_BBS_PATH."/write_update_mail.php");$content = ob_get_contents();ob_end_clean();$bo_table = "sub1";$write_table = $g5['write_prefix'] . $bo_table;$wr_num = get_next_num($write_table);$wr_reply = "";$wr_subject = "{$_POST[wr_name]}님의 문의 신청 입니다.";//$secret = "secret";    $sql = " insert into $write_table                set wr_num = '$wr_num',                     wr_reply = '$wr_reply',                     wr_comment = 0,                     ca_name = '$ca_name',                     wr_option = '$html,$secret,$mail',                     wr_subject = '$wr_subject',                     wr_content = '$wr_content',                     wr_link1 = '$wr_link1',                     wr_link2 = '$wr_link2',                     wr_link1_hit = 0,                     wr_link2_hit = 0,                     wr_hit = 0,                     wr_good = 0,                     wr_nogood = 0,                     mb_id = '{$member['mb_id']}',                     wr_password = '$wr_password',                     wr_name = '$wr_name',                     wr_email = '$wr_email',                     wr_homepage = '$wr_homepage',                     wr_datetime = '".G5_TIME_YMDHIS."',                     wr_last = '".G5_TIME_YMDHIS."',                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',                     wr_1 = '$wr_1',                     wr_2 = '$wr_2',                     wr_3 = '$wr_3',                     wr_4 = '$wr_4',                     wr_5 = '$wr_5',                     wr_6 = '$wr_6',                     wr_7 = '$wr_7',                     wr_8 = '$wr_8',                     wr_9 = '$wr_9',                     wr_10 = '$wr_10' ";    sql_query($sql);$wr_id = sql_insert_id();// 부모 아이디에 UPDATE    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");    // 새글 INSERT    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");    // 게시글 1 증가    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");	$super_admin = get_admin("super");$wr_email = $super_admin[mb_email];mailer($wr_name, $wr_email, $super_admin[mb_email], $wr_subject, $content, 1);alert("상담글이 등록되었습니다.",G5_DOMAIN."/index.php");?>

이렇게 변경해주세요

답변에 대한 댓글 5개

이렇게하면 본문내용처럼 페이지에러가 뜹니다
페이지 에러가 뜨는건 .. form_ok.php 파일의 common.php 파일이 정상적으로 인클루드 되지 않아서 입니다

디렉토리 경로를 잘 살펴봐 주세요

그리고 삭제가 정상적으로 되지 않는 이유는

wr_parent에 mysql_insert_id()로 넣으시면 0 으로 입력이되고

삭제하실때 wr_parent의 값을 0으로 보기때문에 정상적으로 삭제가 되질 않습니다
$wr_id = mysql_insert_id(); 이걸로쓰면 에러가 안납니다 대신 글삭제가 안됍니다..

답변주신 $wr_id = sql_insert_id(); 로 넣으면 에러가 납니다

common.php 인클루드 문제는 아마 아닌걸로 판단이됍니다,,
$wr_id = mysql_insert_id(); 이렇게 쓰시면 wr_parent에 0또는 빈값으로 입력이 되겠죠

wr_parent에 값이 없어도 글쓰기는 됩니다 하지만 삭제할때는 wr_parent의 값이 없어서 삭제를 못하는거고요

lib/common.lib.php 에 sql_insert_id()함수가 존재하는지 확인해보세요

sql_insert_id(); 이걸 쓴다고 해서 500 에러가 나진 않을겁니다

일단 제가 답변해드린 소스로 테스트했을땐 정상적으로 작동됩니다.

form.php , form_ok.php 파일 잘 수정해주세요 상당히 오류가 많습니다
와 감사합니다!! common.lib 에 sql_insert_id 함수가 없었습니다

보니까 list에서만 삭제안돼고 view 에선 삭제됍니다..

 mysqli_insert_id()  


이걸루 해보세요.

답변에 대한 댓글 1개

똑같이 삭제가 안됍니다

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